我有一个Action
名为的类MyFirstClass
,其中有一个String
变量和一个User
变量,如下所示:
public class MyFirstClass extends ActionSupport implements ModelDriven<User>,Preparable {
User user;
private String nickName;
public void prepare(){
user = new User();
}
public User getModel(){
return user;
}
.........................
........................
}
该类User
具有String
变量 asuserName
和userAge
。
由于我的Action
类已经实现ModelDriven
了接口,因此类的变量User
应该根据请求获取/设置。
我还有一个 JSP 文件,其设计如下:
<s:form action="index">
<s:actionerror/>
<s:textfield name="myname" label="UserName:">
</s:textfield>
<s:textfield name="myage" label="UserAge:">
</s:textfield>
<s:submit key="submit" name="submit"/>
</s:form>
并struts.xml
设计为:
<package name="default" namespace="/" extends="struts-default">
<action name="index" class="com.actionClasses.MyFirstClass">
<param name="aliases">#{'myname':'nickName','myname':user.userName,'myage':user.age}</param>
<interceptor-ref name="alias"/>
<interceptor-ref name="basicStack"/>
<result name="success">/success.jsp</result>
<result name="input">/user.jsp</result>
</action>
</package>
我的问题是:
由于我的 JSP 页面文本字段的名称与类中的属性名称不匹配User
。alias
在拦截器的帮助下,我无法像这样将请求参数设置为动作中的相应属性。