Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在struts2隐藏字段中设置数组对象_Java_Struts2 - Fatal编程技术网

Java 在struts2隐藏字段中设置数组对象

Java 在struts2隐藏字段中设置数组对象,java,struts2,Java,Struts2,我使用的是struts2框架。我有一个操作,经过一些处理后,它将转发到一个结果JSP。 该操作的形式包含一个数组对象及其setter和getter。 我还使用模型驱动的界面,以便自动映射所有表单字段。 现在,在结果JSP中,我想在一个隐藏字段中设置该数组对象,以便在表单提交时再次映射该数组对象,但发生的事情是,我的数组元素是{1,2,3},隐藏字段标记将字符串对象中的数组转换为1,2,3,并将其设置为数组对象的第一个元素。我该怎么办 <s:iterator value="l

我使用的是struts2框架。我有一个操作,经过一些处理后,它将转发到一个结果JSP。 该操作的形式包含一个数组对象及其setter和getter。 我还使用模型驱动的界面,以便自动映射所有表单字段。 现在,在结果JSP中,我想在一个隐藏字段中设置该数组对象,以便在表单提交时再次映射该数组对象,但发生的事情是,我的数组元素是{1,2,3},隐藏字段标记将字符串对象中的数组转换为1,2,3,并将其设置为数组对象的第一个元素。我该怎么办

        <s:iterator value="licenseType" status="stat1">
<s:hidden name="licenseType[%{#stat1.index}]" />
</s:iterator>
<s:iterator value="status" status="stat2">
    <s:hidden name="status[%{#stat2.index}]" />
</s:iterator>

为了使应用程序有意义,需要将对象数组(例如整数数组)转换为字符串。您需要在action类中创建一个String属性,并在退出action类之前调用Arrays.toString并将该值设置为String属性

e、 g


如果arr1是要传递到jsp中的数组的名称,并且arr1也是要在下一个操作中将数组值传递到ie的操作中的数组的名称,那么您可以使用以下命令:

<s:iterator value="arr1" status="stat">
    <s:hidden name="arr1[%{#stat.index}]" />
</s:iterator>

这是我的名为packageList的数组:

<tr>
    <td>
        <s:select theme="simple" list="%{#request.packagesList}" listKey="packageId" listValue="packageName" headerKey="0" headerValue="--Select--" name="packageDetail" id="packageDetail" />
    </td>
</tr>

一个字段->一个值。如果您只想使用struts标签来实现这一点,那么您需要在数组上循环,并为数组中的每个项都有一个隐藏字段。如果所有这些字段都有相同的名称,那么表单将为同一个变量发送多个值-一个数组。是的,我的数组只有字符串,例如,我刚刚使用了1,2,3。谢谢你的帮助性回复。@Arpit现在工作了吗。如果它是upvote,则勾选答案。否它不工作它将数组设置为nullobject@Arpit我看不到你在帖子中提到的隐藏字段。同时发布你的动作类代码。您需要发布对解决问题有意义的代码。
public class MyAction extends ActionSupport
{
    private String myHiddenFieldArr;
    //getters and setters

    public String myAction() throws Exception
    {
        //Do you logic
        myHiddenFieldArr = Arrays.toString(your_Array);
    }
}
<s:iterator value="arr1" status="stat">
    <s:hidden name="arr1[%{#stat.index}]" />
</s:iterator>
<tr>
    <td>
        <s:select theme="simple" list="%{#request.packagesList}" listKey="packageId" listValue="packageName" headerKey="0" headerValue="--Select--" name="packageDetail" id="packageDetail" />
    </td>
</tr>
public String getPackageDetail() {
    return packageDetail;
}

public void setPackageDetail(String packageDetail) {
    this.packageDetail = packageDetail;
}