Java Struts 2-捕获到设置“xx”的意外异常

Java Struts 2-捕获到设置“xx”的意外异常,java,jsp,configuration,struts2,interceptor,Java,Jsp,Configuration,Struts2,Interceptor,我试图将来自HTML表单的未知数字输入提交给Action类,并在Action类中使用RequestMethodUsed ServletActionContext获取输入参数信息 但是它的投掷 在“类类名”上设置“xx”时捕获到意外异常设置表达式“xx”时出现错误,该表达式的值为['yy',] 因为表单中的输入元素是使用JS动态添加的,所以我不能在Action类中使用getter和setter 如何在没有任何异常的情况下处理Action类 JSP: 团队活动日志 函数addRowtableid {

我试图将来自HTML表单的未知数字输入提交给Action类,并在Action类中使用RequestMethodUsed ServletActionContext获取输入参数信息

但是它的投掷

在“类类名”上设置“xx”时捕获到意外异常设置表达式“xx”时出现错误,该表达式的值为['yy',]

因为表单中的输入元素是使用JS动态添加的,所以我不能在Action类中使用getter和setter

如何在没有任何异常的情况下处理Action类

JSP:

团队活动日志 函数addRowtableid { var table=document.getElementByIdtableid; var rowCount=table.rows.length; var row=table.insertRowCount; var cell1=row.insertCell0; var element1=document.createElementselect; element1=document.getElementByIdsele.cloneNodetrue; element1.type=select; 第1单元。附加子元素1; var cell2=row.insertCell1; var element2=document.createElementinput; element2.type=文本; element2.setAttributeplaceholder,例如:1234; 单元格2.2附加子元素2; var cell3=row.insertCell2; var element3=document.createElementinput; element3.type=文本; 元素3.setAttributeplaceholder,简要介绍您的工作; 第3单元。附加子元素3; var cell4=row.insertCell3; var element4=document.createElementinput; element4.type=文本; 元素4.设置属性更换支架,最小毫米; 第4单元。附加子元素4; var cell5=row.insertCell4; var element5=document.createElementimg; element5.src=close.png; element5.setAttributeid,删除; 元素5.setAttributeonclick,changeImagethis; 第5单元。附加子元素5; } 函数changeImagetemp { temp.parentElement.parentElement.remove; } 函数converttableid,temp2 { var table=document.getElementByIdtableid; console.logtable.rows.length; var hideelement=document.getElementByIdtemp2; hidelement.setAttributevalue,table.rows.length-1;
forvar i=1;i您可以通过覆盖操作配置中的拦截器来控制Struts2填充参数的过程

.* Time.jsp 在这里,您可以修改params拦截器的excludeParams属性,以便通过OGNL将所有参数排除在处理之外

您不应该以这种方式获得任何异常,但请确保您已配置struts.devMode=false

它应该从输出中删除不必要的警告。如果日志中仍有任何警告或异常,则应配置日志框架以从输出中抑制这些警告或错误

import javax.servlet.http.HttpServletRequest;
import org.apache.struts2.ServletActionContext;

public class Timeprocess {
    public String execute() {

        HttpServletRequest request = ServletActionContext.getRequest();
        String tt="tt";
        String rf="rf";
        String des="des";
        String eff="eff";

        for(int i=0;i<Integer.parseInt(request.getParameter("taskcount"));i++)
        {
            System.out.println("Task Type :"+ request.getParameter(tt+String.valueOf(i)));
            System.out.println("Task Type :"+ request.getParameter(rf+String.valueOf(i)));
            System.out.println("Task Type :"+ request.getParameter(des+String.valueOf(i)));
            System.out.println("Task Type :"+ request.getParameter(eff+String.valueOf(i)));


        }
        return "success";

}
}