Я хочу включить компонент моего проекта, используя плагин struts2 tiles. Файл tiles.xml я написал так:Проблема в плагине struts2.
<tiles-definitions>
<definition name="indexBaseLayout" template="/indexBaseLayout.jsp">
<put-attribute name="title" value="" />
<put-attribute name="topBar" value="/topbar.action" />
<put-attribute name="catalog" value="" />
<put-attribute name="searchForm" value="" />
<put-attribute name="main" value="" />
<put-attribute name="footer" value="" />
</definition>
<definition name="regInput.tiles" extends="indexBaseLayout">
<put-attribute name="title" value="注册" />
<put-attribute name="main" value="/reg/input.action" />
</definition>
<definition name="regSuccess.tiles" extends="indexBaseLayout">
<put-attribute name="title" value="注册" />
<put-attribute name="main" value="/reg_success.jsp" />
</definition>
<definition name="index.tiles" extends="indexBaseLayout">
<put-attribute name="title" value="主页" />
<put-attribute name="main" value="/index.jsp" />
</definition>
И часть struts.xml так:
<package name="main" extends="struts-default" namespace="/">
<action name="topbar" class="topBarAction">
<result name="success">/topbar.jsp</result>
</action>
</package>
Как вы видите, я ставлю некоторые URLs действия в значении put-attribute. Я думал, что они будут выполняться как действия расположений и отображать результат возвращенного результата. Но факт в том, что плагин плагина распознает «xxxx.action» как файл: java.io.FileNotFoundException: запрошенный ресурс (/bookstore/topbar.action) недоступен. Итак, есть ли какое-либо решение для вставки представления результата действия в макеты таблиц?
На моей странице есть верхняя панель. Информация на панели зависит от того, вошел ли пользователь в систему. Если он еще не зашел в систему, появится ссылка для входа в систему, иначе будет отображаться ссылка на выход, а также строка «welcome» + userName. Я долго искал googled и нашел способ выполнить действие в плитке. Просто добавьте ЗАПРОС ВКЛЮЧЕН в web.xml внутренний struts2 фильтр-картографический тэг. Это работает, но я не знаю, почему. –
Я бы предложил использовать стандартный jsp с некоторыми условными тегами расположений, в которых он тестировался против вашего пользовательского объекта для логического значения, возможно, isAuthenticated(). Я ответил на вопрос с вопросом о состоянии входа в систему: http://stackoverflow.com/questions/6906894/struts-2-session-management-and-dynamically-displaying-jsps/6935182#6935182 –
См. Мои изменения для уточнения –