Java struts使用reqCode布局多个提交按钮
我正在JSP页面上使用struts布局来显示带有单选按钮的表。它有一个submit按钮,用于调用struts操作类中的execute方法。这很好用 我需要向同一表单添加另一个submit按钮,以执行另一个方法,或者简单地意识到第二个按钮是在同一个action类的方法中单击的。我知道这可以使用reqCode来完成。但我就是不知道怎么做 我的JSP代码:Java struts使用reqCode布局多个提交按钮,java,jsp,jakarta-ee,struts,Java,Jsp,Jakarta Ee,Struts,我正在JSP页面上使用struts布局来显示带有单选按钮的表。它有一个submit按钮,用于调用struts操作类中的execute方法。这很好用 我需要向同一表单添加另一个submit按钮,以执行另一个方法,或者简单地意识到第二个按钮是在同一个action类的方法中单击的。我知道这可以使用reqCode来完成。但我就是不知道怎么做 我的JSP代码: <layout:form action="/taskSelected.do" reqCode="execute" > <
<layout:form action="/taskSelected.do" reqCode="execute" >
<layout:submit value="Show Task Status" styleClass="btn btn-default"/>
<layout:submit value="troubleshoot" styleClass="btn btn-default" reqCode="troubleshoot"/>
<layout:collection name="userTasks" title="" styleClass="FORM" selectProperty="uniqueID" selectType="radio">
<layout:collectionItem title="Task Name" property="name"/>
<layout:collectionItem title="UID" property="uniqueID" />
<layout:collectionItem title="Request Time" property="add_info" />
<layout:collectionItem title="FTP URL" property="ftp_url"/>
<layout:collectionItem title="Status" property="status" />
</layout:collection>
第二种方法
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
System.out.println("Method 2= " + request.getSession().getAttribute("troubleshoot"));
if(request.getSession().getAttribute("USER_KEY")==null){
return mapping.findForward("NotLoggedIn");
}
这应该是非常简单的,但我就是不知道是什么错了 在JSP页面中使用两个按钮(我也曾尝试过两次提交,但都不适用于我)
谢谢你的回复。通过这种方法,我至少可以让两个不同的按钮调用两个不同的方法。但是数据网格中的数据呢?我有一个布局集合(Datagrid),我的目标是确定网格用户选择了哪一行。根据他选择的行和按下的按钮,我需要启动单独的任务。使用这种方法,select属性(在本例中是uniqueID)返回null。
public ActionForward troubleshoot(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
System.out.println("Method 1= " + request.getSession().getAttribute("troubleshoot"));
if(request.getSession().getAttribute("USER_KEY")==null){
return mapping.findForward("NotLoggedIn");
}
System.out.println("Reached in Troubleshoot");
return mapping.findForward("troubleshootPage");
}
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
System.out.println("Method 2= " + request.getSession().getAttribute("troubleshoot"));
if(request.getSession().getAttribute("USER_KEY")==null){
return mapping.findForward("NotLoggedIn");
}
<input type="button" value="Method1" onclick="location.href='taskSelected.do?method=method1';"/>
<input type="button" value="Method2" onclick="location.href='taskSelected.do?method=method2';"/>
<action name="taskBean"
path="/taskSelected"
scope="session"
type="com.myapp.struts.taskSelectedAction" validate="false"
parameter=method>
public class taskSelectedAction extends org.apache.struts.actions.DispatchAction{
public ActionForward method1(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception{
//your code goes here
}
public ActionForward method2(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception{
//your code goes here
}
}