最新バージョンで利用可能なセキュリティ修正のため、2.1.6 から 2.3.15.1 にアップグレードしました。ただし、現在、フォーム フィールドの値は Action クラスにポストされません。基本的にHashMap
props
、フォームが送信されると、JSP から Action クラスにデータを取り込みます。Struts のバージョンを 2.3.15.1 にアップグレードすると、これが機能しません。コードの変更はありません。setProps
コードをデバッグしたところ、メソッドが呼び出されていないことに気付きました。これはもう許されませんか。回避策はありますか?Struts ライブラリの変更を元に戻すとすぐに、すべてが完璧に機能します。助けてください。
私のコードは次のようになります。
アクション クラス:
private Map<String, Wall> props;
public void prepare(){
//fill up props map here.
}
public String view(){
return INPUT;
}
public String save(){
myService.setProps(props);
return INPUT;
}
public void setProps(Map<String, Wall> props) {
this.props = props;
}
public Map<String, Wall> getProps() {
return props;
}
JSP :
<s:iterator value="props.entrySet()" id="prop" status="propStatus">
<s:textfield name="props['%{#prop.key}'].value" value="%{#prop.value.value}" />
</s:iterator>