java - Struts 1 表单嵌套属性无法解析
问题描述
我正在使用运行 struts 1 的遗留系统。目前,我有嵌套的动作表单类,如下所示——
public class GrandParentForm extends BasicActionForm {
private ParentForm parentForm;
public GrandParentForm ()
{
parentForm = new ParentForm();
}
//Typical getters, setters, populate, validate, reset methods
}
public class ParentForm extends BasicActionForm {
private ChildForm childForm;
public ParentForm()
{
childForm = new ChildForm();
}
//Typical getters, setters, populate, validate, reset methods
}
public class ChildForm extends BasicActionForm {
private String childProperty;
public ChildForm(){}
//Typical getters, setters, populate, validate, reset methods
}
Struts Config -- GrandParentForm 在这里被定义为一个 ActionFormBean,
<form-beans.....>
<form-bean name="grandParentForm" type="test.struts.action.pedigree.GrandParentForm " />
</form-beans>
<action-mappings ... >
<action path="/test/path/preparePedigree"
validate="false"
scope="request"
name="grandParentForm "
input="/main/pedigree/PedigreeList.jsp"
type="test.struts.action.pedigree.PreparePedigree">
<forward name="success"
path="/main/pedigree/PedigreeInformation.jsp" />
</action>
</action-mappings>
我的问题围绕着通过前端的 struts 标签评估这些表单的属性。
如果我使用 EL 语言 -- ${GrandParentForm.parentForm.childForm.childProperty} 它将检索适当的值。
然而,对于 struts 表单元素内部的输入标签——
<html:form .... >
<input type="text" id="test_id" name="parentForm.childForm.childProperty" .../>
</html:form>
该名称不计算,它得到一个空的父窗体、childForm,然后是 null childProperty。
这是为什么?
解决方案
找出问题所在,在我的 struts-config.xml 中,我有多个使用此表单的操作条目。最后的条目有范围会话而不是请求。一旦我更改它以请求成功解决属性。
推荐阅读
- javascript - 加载 JSON 文件并打印特定部件
- android - 如何动态添加 NavigationView 菜单?
- python - read_sql:以 10 为底的 int() 的值错误无效文字:b'11+00'?
- javascript - 在 ReactNative AppRegistry 组件中正确使用 unmountApplicationComponentAtRootTag 方法
- powerbi-embedded - Power BI Embedded - filtersApplied 事件未触发
- jenkins - 如何在 Jenkins 中创建一个触发的声明性管道阶段以不为标签构建
- sql - 如果记录是子字符串并且在时间间隔内,则查询折叠记录
- shopify - 当我尝试分析 Shopify 商店时,PageSpeed Insights 返回 NOT_HTML 错误
- php - 如何解决 phpmyadmin “未知数据库”中的此数据库错误
- dataframe - 如何对数据框数组元素进行空检查?