无法将表单字段中的数据填充到struts2中的操作类数据成员中

无法将表单字段中的数据填充到struts2中的操作类数据成员中,struts2,Struts2,我创建了一个包含表单的jsp页面,我试图从该表单填充action类的数据成员,提交表单后,控件被移动到action类,但action类的数据成员没有填充 我的jsp页面如下所示 <s:actionerror /> <s:form action = "retrieve" method="post"> <s:textfield name = "form1" value = "form1" /> <s:textfi

我创建了一个包含表单的jsp页面,我试图从该表单填充action类的数据成员,提交表单后,控件被移动到action类,但action类的数据成员没有填充

我的jsp页面如下所示

 <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 
}