これに関する以前の投稿を調べましたが、セットアップ方法に関する問題が見つからないようです。私のコントロールは、初期読み込みでは読み込まれますが、失敗した検証では読み込まれません。インデックス ページに移動すると問題なくロードされ、struts xml ファイルで定義されたアクションに移動すると問題ありません。唯一の問題は、検証のリロード後です。
jsp ファイルからの関連部分。
<s:form action="CreateReq" method="post" validation="true" theme="simple">
<s:select name="measurementList"
list="measurementList"
listKey="Name" listValue="Id"
class="quantitydropdown">
</s:select>
</s:form>
検証クラス
@Override
public void prepare(){
prepareRequisitionInformation();
}
public String prepareRequisitionInformation(){
PrepareCreateRequisitionAction prepare = new PrepareCreateRequisitionAction();
setMeasurementList(prepare.getMeasurementList());
loadAwaitingRequisitions();
return success;
}
PrepareCreateRequisitionAction クラス
public ArrayList<Measurement> getMeasurementList() {
if (measurementList==null || measurementList.isEmpty()){
this.createMeasurementList();
}
return measurementList;
}
private void createMeasurementList() {
measurementList = new ArrayList<Measurement>();
measurementList.add(new Measurement("Bag", "Bag"));
measurementList.add(new Measurement("Box", "Box"));
measurementList.add(new Measurement("Cubic decimeter", "Cubic decimeter"));
}
index.jsp
<head>
<META HTTP-EQUIV="Refresh" CONTENT="0;URL=CreateReq.action">
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>HTML 5 with Struts 2</title>
</head>
struts.xml
<action name="CreateReq" method="execute" class="com.te.sss.action.CreateRequisitionAction">
<result name="success">/success.jsp</result>
<result name="input">/createRequisition.jsp</result>
</action>