[英]Passing a value from MenuItemTag to .jsp
我有一個帶菜單和MenuItems的.jsp文件,它正在應用程序中的其他所有.jsp文件中顯示。 此時,其中的三個MenuItem分別將用戶重定向到不同的.jsp頁面。 但這很愚蠢,因為那些.jsp的AND Action類幾乎相同。 所以我想做的是:
帶有菜單小部件代碼的JSP頁面:
...
<ui:submenu name="Chapter A">
<ui:menuitem link="/ThisPage.do">Printoption A</ui:menuitem>
<ui:menuitem link="/ThisPage.do">Printoption B</ui:menuitem>
<ui:menuitem link="/ThisPage.do">Printoption C</ui:menuitem>
...
</ui:submenu>
<ui:submenu name="Chapter B">
...
</ui:submenu>
...
帶有打印按鈕的JSP頁面('ThisPage') :
<html>
<div>
...
<c:set var="mode" value="${PageData.fields.mode}" />
<c:set var="title" value="${val:iif(mode=='1','Option1',val:iif(mode=='2','Option2','Option3'))}" />
...
<body>
<html-el:form action="/Print" method="post" >
<h1>Print ${title}</h1>
<html-el:hidden property="field(mode)"/>
...
(assorted fields to filter output data)
...
<html-el:submit property="event(printPdf)" styleClass="button" style="width=125">Print to .PDF</html-el:submit>
<c:if test="${(mode=='3')}">
<html-el:submit property="event(printWord)" styleClass="button" style="width=125">Print to .DOC</html-el:submit>
</c:if>
...
</div>
</body>
</html>
動作類(“打印”) :
...
public ActionForward onPostPrintPdf(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception
{
...
request.setCharacterEncoding("UTF-8");
Connection connection = null;
PageData inForm = ActionUtils.getInputForm(mapping, request, form);
String mode = (String)inForm.getField("mode");
...
(assorted variables, field/variable validation, export to Jasper Report, etc.)
...
return ActionUtils.getInputRedirect(mapping, request, inForm);
}
...
(more actions for more printing options)
...
我對Struts(和Java)還很陌生,我已經設置了一切(據我所知)以“接收”參數值並將其放在“ mode”變量中。 但是我一直在努力“發送”值,因為我不能在MenuItems中使用“ onclick”之類的東西。
此時,我真的不知道如何在單擊MenuItems之一時將值傳遞給“ mode”。
感謝吉米帶領我朝着正確的方向前進! 這是適用於我的代碼的解決方案:
...
<ui:submenu name="Chapter A">
<ui:menuitem link="/ThisPage.do?field(mode)=optionA">Printoption A</ui:menuitem>
<ui:menuitem link="/ThisPage.do?field(mode)=optionB">Printoption B</ui:menuitem>
<ui:menuitem link="/ThisPage.do?field(mode)=optionC">Printoption C</ui:menuitem>
...
</ui:submenu>
<ui:submenu name="Chapter B">
...
</ui:submenu>
...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.