Java struts使用reqCode布局多个提交按钮

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

我正在JSP页面上使用struts布局来显示带有单选按钮的表。它有一个submit按钮,用于调用struts操作类中的execute方法。这很好用

我需要向同一表单添加另一个submit按钮,以执行另一个方法,或者简单地意识到第二个按钮是在同一个action类的方法中单击的。我知道这可以使用reqCode来完成。但我就是不知道怎么做

我的JSP代码:

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