Apache Struts Web アプリケーションがあります。すべてのアクションは、struts.xml ファイルで定義されています。プロジェクトに検証アノテーションを追加するために、アクション クラスにサポートを追加しようとしています。
これを機能させるために、struts2-convention-plugin.jar と commons-lang.jar を追加しました。
次に、アクション メソッドの上に注釈を追加しました。
jsp
<s:form id="tradingOutageFrm" action="addTradingOutageDo.action"
validate="true" theme="simple">
struts.xml
<action name="addTradingOutageDo" class="com.myproject.action.TradingOutageAction"
method="addDo">
<result name="success" type="tiles">page.tradingOutageAdd</result>
</action>
私のアクションクラス
public class TradingOutageAction extends ActionSupport {
@RequiredStringValidator(type = ValidatorType.SIMPLE,
fieldName = "storeNo",
message = "Please enter a store.")
public String addDo() throws Exception {
try{
Map<String, Object> session = ActionContext.getContext().getSession();
String userId = session.get("userid").toString();
tradingOutage.setStoreNo(storeNo);
tradingOutage.setStoreServer(storeServer);
tradingOutageDAO.insertOutage(userId, startDate, startTime,
endDate, endTime, tradingOutage);
addActionMessage(MessageConstants.RECORD_INSERTED);
}catch(Exception e){
addActionError(MessageConstants.UPDATE_FAILED + " " + e.getMessage());
}
return SUCCESS;
}
注釈がなくてもすべて正常に機能しますが、注釈を使用すると
action
com.myproject.action.TradingOutageAction
と resultに結果が定義されていませんinput
。
ここで何が間違っているのか、誰でも助けてくれますか。