将JSP值传递到ActionForm(Struts)时出现问题
我是Struts的新手,继承了一个问题。我试图将同一个表单元格中包含的3个值从JSP传递到ActionForm类。第一个值(以及JSP中的其他值)可以正常工作,但由于某些原因,其他两个值不能正常工作。我有适当的getter和setter,但只显示第一个(newrecnum),其他两个为null。是否有只传递第一个值的限制?还是有其他问题?以下是JSP代码:将JSP值传递到ActionForm(Struts)时出现问题,jsp,struts,Jsp,Struts,我是Struts的新手,继承了一个问题。我试图将同一个表单元格中包含的3个值从JSP传递到ActionForm类。第一个值(以及JSP中的其他值)可以正常工作,但由于某些原因,其他两个值不能正常工作。我有适当的getter和setter,但只显示第一个(newrecnum),其他两个为null。是否有只传递第一个值的限制?还是有其他问题?以下是JSP代码: <td> <html:text size="10" maxlength="10" property="newrecnum"
<td>
<html:text size="10" maxlength="10" property="newrecnum"/><br>
<html:text size="5" maxlength="5" property="newrectime"/>
<html:select property="newreccode" disabled="true">
<html:option value="YES">YES</html:option>
<html:option value="NO">NO</html:option></html:select>
</td>
对
不
如果需要,我也可以包括ActionForm代码。谢谢 我首先想到的是,您在选择字段上禁用了
disabled=“true”
。提交表单时,任何禁用的输入都不会发送到服务器。请求中没有参数意味着Struts在ActionForm实例中没有任何绑定(因此属性将保持不变,在您的情况下为null)
关于另一个字段,请检查是否确实正确定义了getter和setter(它们是公共的,名称完全匹配)。它应该是这样的(为了简单起见,我使用类型字符串):
既然您说您继承了这个东西,那么您确定Struts会将表单参数绑定到ActionForm实例,还是手动绑定,并且您必须向某种方法添加代码来实现这一点(我这么问是因为多年来我看到Struts应用程序被最大限度地滥用)。谢谢您的回复dpb。我发现了错误。在另一个字段中输入某个值后,禁用字段实际上更改为“false”,因此这不是问题所在。这是一个setters名称不正确匹配的案例。我发誓我昨天检查了一百万次。我想我只需要轻轻一推,然后离开它一段时间就可以看到它。再次感谢!
public void setNewrectime(String val) {...}
public String getNewrectime() {...}
public void setNewreccode(String val) {...}
public String getNewreccode() {...}