无法将表单字段中的数据填充到struts2中的操作类数据成员中
我创建了一个包含表单的jsp页面,我试图从该表单填充action类的数据成员,提交表单后,控件被移动到action类,但action类的数据成员没有填充 我的jsp页面如下所示无法将表单字段中的数据填充到struts2中的操作类数据成员中,struts2,Struts2,我创建了一个包含表单的jsp页面,我试图从该表单填充action类的数据成员,提交表单后,控件被移动到action类,但action类的数据成员没有填充 我的jsp页面如下所示 <s:actionerror /> <s:form action = "retrieve" method="post"> <s:textfield name = "form1" value = "form1" /> <s:textfi
<s:actionerror />
<s:form action = "retrieve" method="post">
<s:textfield name = "form1" value = "form1" />
<s:textfield name="cid"/>
<s:submit type = "submit" name = "sub" value="submit"/>
</s:form>
public class CustomerUpdate extends ActionSupport {
private String form1 ;
private String cid ;
public String execute() {
System.out.println(form1) ;
System.out.println(cid) ;
}
在这里,提交表单后,我希望action类中的form1变量的值应为“form1”,但仍然为null
谁能帮我一下我哪里出了问题
提前谢谢 我不确定您是否有将action类映射到jsp文件的配置文件。 通常,配置文件是src文件夹中的xml文件。例如:
希望这对您有所帮助,首先,您的代码不会编译 由于我假设struts.xml文件包含以下行
<action name="retrieve" class="CustomerUpdate" method="execute">
<result name="success">/success.jsp</result>
</action>
请试用上面的代码示例,我认为它会起作用。很抱歉,实际上它是system.out.println(form1);和system.out.println(cid);没有引号……。为什么要在action类中使用form1变量?是否有用于action属性的公共getter/setter?实际的代码是什么,因为这段代码甚至不会编译?为了避免混淆,我已经从您的答案中删除了modeldriven。OP不使用它,也不需要它。
<form action = "retrieve" method="post">
<s:textfield name = "form1" value = "${form1}" />
<s:textfield name="${cid}"/>
<s:submit type = "submit" name = "sub" value="submit"/>
</form>
system.out.println(getForm1);
system.out.println(getCid);
<action name="retrieve" class="CustomerUpdate" method="execute">
<result name="success">/success.jsp</result>
</action>
public class CustomerUpdate extends ActionSupport {
private String form1 ;
private String cid ;
public String execute() {
System.out.println(form1) ;
System.out.println(cid) ;
return "success";
}
//getter & setter for form1 & cid
}