次のように、変数と変数を持つという名前の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
変数がuserName
あり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>
私の問題は次のとおりです。
User
JSP ページのテキスト フィールドの名前がクラスのプロパティ名と一致しないためです。alias
このように、インターセプターを使用してアクションの対応するプロパティに要求パラメーターを設定することはできません。