#apache-tiles #tiles2 #tiles-3
#apache-tiles #tiles2 #плитки-3
Вопрос:
У нас есть приложение в Tiles2, где у нас есть тег определения tiles, имеющий компонент в атрибуте put-list и работающий хорошо, но не способный перенести их для Tiles 3 совместимый. Кто-нибудь может помочь нам,
пример кода…
<definition name=".tabs.resource.list" extends=".tabs.resource">
<put-attribute name="selectedIndex" value="0" />
<put-attribute name="resourceType" value="1" />
<put-list-attribute name="tabList">
<bean classtype="org.test.sample.ui.util.Tab">
<set-property property="value" value="Tab1" />
<set-property property="link" value="currentHealthTab1listVisibility.action" />
<set-property property="mode" value="currentHealth" />
<set-property property="height" value="21" />
<set-property property="width" value="102" />
</bean>
<bean classtype="org.test.sample.ui.util.Tab">
<set-property property="value" value="Tab2" />
<set-property property="link" value="viewlistTab2listVisibility.action" />
<set-property property="mode" value="view" />
<set-property property="height" value="21" />
<set-property property="width" value="102" />
</bean>
</put-list-attribute>
</definition>`
org.test.sample.ui.util.Tab переопределяется для класса simplemenuitem
Комментарии:
1. Ищете аналогичную поддержку меню для tiles 3. для tiles2.2 ссылка tiles.apache.org/2.2/framework/tutorial/advanced/menu.html
Ответ №1:
Поскольку компоненты для элемента меню удалены в последней версии tiles, нам нужно будет создать класс сервлета, и сопоставление со страницей jsp использует те атрибуты {в приведенном выше вопросе, которые jsp указал в extends=».tabs.resource» / страница jsp в определении} в web.xml и установите атрибут вв классе мы можем настроить атрибут list и включить ответ сервлета, как показано ниже:
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.test.sample.ui.util.Tab;
public class ControlTabNG extends HttpServlet{
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException{
List<Tab> ControlTabNGtablist = new ArrayList<Tab>();
Tab ObjTab1 = new Tab();
ObjTab1.setValue("Tab1");
ObjTab1.setLink("viewlistTab1listVisibility.action");
ObjTab1.setMode("View");
ObjTab1.setHeight(21);
ObjTab1.setWidth(101);
Tab ObjTab2 = new Tab();
ObjTab2.setValue("Tab2");
ObjTab2.setLink("viewlistTab2listVisibility.action");
ObjTab2.setMode("View");
ObjTab2.setHeight(21);
ObjTab2.setWidth(101);
ControlTabNGtablist.add(ObjTab1);
ControlTabNGtablist.add(ObjTab2);
request.setAttribute("tabList", ControlTabNGtablist);
try {
RequestDispatcher rd=request.getRequestDispatcher("/simplemenuitem/SampleTabNG.jsp");
rd.include( request, response);
} catch (ServletException e) {
e.printStackTrace();
}
`