gpt4 book ai didi

java - 将值从 MenuItemTag 传递到 .jsp

转载 作者:行者123 更新时间:2023-12-01 10:47:57 27 4
gpt4 key购买 nike

情况:

我有一个带有菜单和菜单项的 .jsp,它显示在应用程序中的所有其他 .jsp 上。此时,其中三个 MenuItem 将用户重定向到不同的 .jsp 页面。但这很愚蠢,因为那些 .jsp 和 Action 类几乎是相同的。所以我想做的是:

  • 使这 3 个不同的菜单项/链接重定向到同一页面
  • 点击链接/菜单项时发送参数
  • 取决于“mode”的值:
    • 更改 .jsp 的布局
    • 更改 Action 类中 onPostPrintx-actions 中的变量值

代码:

JSP 页面,其代码为 Menu Widget :

...
<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”变量中。但我正在努力“发送”该值,因为我无法在菜单项中使用“onclick”之类的东西。

此时我真的不知道如何在单击其中一个菜单项时将值传递给“mode”。

最佳答案

感谢Jimmy引导我走向正确的方向!这是适用于我的代码的解决方案:

...
<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>
...

关于java - 将值从 MenuItemTag 传递到 .jsp,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34069520/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com