0

以下は私のjspです、

タグが入力されたドロップダウンがあり<option>ます。ここでは、Java Bean から値が入力されています。ドロップダウン値が動的に入力されています。使用しているフレームワークは struts 1.3 です。

MyJSP.jsp

<% 
String testIdValue = request.getAttribute("testIdValue");
%>
<body>
    <html:select  property="testId" id="format">
    <option value="0">Select a TestId</option>
    <option value="<%=Mybean.getname()+"^"+Mybean.getdata()%>"<%=(Mybean.getname()+"^"+Mybean.getdata())?"selected=true":""%>><%=Mybean.getname()></option>
    </option>
    </html:select>
    <input type="button" value="submit"/>

</body>

struts-config.xml

<action path="/test"
type="com.test.TestAction"
name="testForm" scope="request" validate="true"
input="/MyJSP.jsp">
<forward name="success" path="/MyJSPResult.jsp"/>
<forward name="failure" path="/MyJSP.jsp"/>
</action>

TestAction.java

public ActionForward execute(ActionMapping mapping, ActionForm form,....)
{
        TestForm testform = (TestForm) from;
        String testIdValue= request.getParameter("testId");
        request.setAttribute("testIdValue",testIdValue);
}

MyJSPResult.jsp

 <% 
    String testIdValue = request.getAttribute("testIdValue");
  %>

ここで、送信をクリックするたびに、ドロップダウン ボックスの値が最初のオプションである「Select a TestId」に保持されている検証をヒットします。アクションを送信した後、TestAction でフォームの値を取得できます。その後、リクエストオブジェクトに値を設定します。MyJSP.jsp または MyJSPResult.jsp の値を取得できません。

この場合、ドロップダウン値または一般的なフォーム値を保持する方法を誰かに教えてもらえますか?

私が欲しいのは:後に反映する選択されたドロップダウン値

submiting jsp->action->results page->coming back to jsp or
submiting jsp->action->hitting valiadtion->coming back to jsp.
4

1 に答える 1

0

struts ロジック タグを使用しないのはなぜですか? 選択タグを埋めるために、jsp で Bean とスクリプトレットを使用しています。私の提案は、リクエストではなく、testIdValueアクション フォーム (セッター属性) またはセッション属性(アクション フォームに最適) のいずれかに設定することです。ロジック反復を使用して選択タグとロジック存在タグを埋め、そのリストに値が存在するかどうかを確認します。もしそうなら、あなたのhtmlのようなことをしてくださいselected="selected"。コード スニペットは次のとおりです。

<html:select property="testId" id="format" name="your_action_form">
<option value="0">Select a TestId</option>
<logic:iterate property="your_list_property" name="your_action_form">
    <logic:present name="testIdValue" property="testId">
        <option value="your_value" selected="selected">your_text</option>
    </logic:present>
    <logic:notPresent name="testIdValue" property="testId">
        <option value="your_value">your_text</option>
    </logic:notPresent>
</logic:iterate>
</html:select>

equal/notEqualタグの代わりにロジックタグを使用することもできpresent/notPresentます。これが役立つかどうか教えてください。

于 2013-10-26T19:49:22.223 に答える