0

おはようございます。フォームを JSP からアクションに渡そうとしています。URL (?par=value ...) でパラメーターを渡すと、フォームは正しくコンパイルされますが、送信とフォームの値を使用するとコンパイルされません。

すべてが正しく設定されていると思いますが、何かが足りないに違いありません。

他の同様の投稿を既に検索しましたが、解決策が見つかりませんでした。

問題は、Action の「new」メソッドで到着するフォームが空であることです。

struts.config.xml:

<form-bean name="EsempioForm" type="com.forms.EsempioForm"/>
<action name="EsempioForm" parameter="method" input="/pages/esempio.jsp" path="/esempio" scope="request" type="com.EsempioAction">
<forward ... />
</action>

esempio.jsp:

<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
...
<html:form action="/esempio">
<input type="hidden" id="method" name="method" value="new"/>
<html:text property="desc" disabled="true" />
<html:submit styleClass="button">record</html:submit>
</html:form>

EsempioAction.java

public ActionForward new(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
    ...
    EsempioForm esempioForm = (esempioForm) form;
    ...
    return mapping.findForward(...);
}

誰でも私を助けてもらえますか?アドバイスをありがとうございました。

4

3 に答える 3

1

に変更<html:form action="/esempio">して<html:form action="/esempio" method="POST">、再試行してください。

編集 1: プロパティ desc が渡されていませんか?

disabled="true" (ちょうど疑わしい) プロパティと関係がありますか?

于 2013-10-08T10:23:50.697 に答える
0

HTML フォームを介して渡そうとするプロパティは、フォーム Bean クラスに存在する必要があります。を使用して非表示の値を渡す場合を除いて、フォーム内の変数へのプロパティのマッピングが常に存在する必要があります<input type="hidden" id="method" name="method" value="new"/>。この場合、フォームに対応するマッピングは必要ありません!

于 2013-10-08T11:49:02.473 に答える