0

私のpage.jspにはいくつかのhtml divタグがあり、ユーザーが対応するアンカータグボタンをクリックすると、divの表示がブロックまたはなしに切り替わります。

ユーザーが 2 番目のアンカー ボタン リンクをクリックすると、html フォームが読み込まれる適切な div がクリックされたとします。以下のインターセプターを使用して、アップロード制限の最大サイズとコンテンツ タイプを制限するファイル アップロード参照ボタンがあります。

<interceptor-ref name="fileUpload">
<param name="maximumSize">15728640</param>
<param name="allowedTypes">application/pdf</param>
</interceptor-ref>  

次に、ActionSupport を拡張する Java クラスで、maxsize と content type の違反の場合は、戻り値の型を入力として取得します。

SO struts.xml で私が定義した

   <result name="input">  page.jsp </result>

しかし、これにより page.jsp がリロードされ、同じ html div 状態、つまり div タグの 2 番目のフォームが維持されず、2 番目のアンカー タグ ボタンをクリックしてファイル ブラウズ フォームをロードする必要があります。

保つのではなく

<s:fielderror> </s:fielderror> 

2 番目の div タグのファイル参照フォーム内で、body タグの先頭に保持して、返されたエラー メッセージを表示できます。

しかし、「ファイル参照パス」などのユーザー入力を入力フィールドに残し、フィールドの上にエラー メッセージが表示されるようにします。別の jsp ページにエラー メッセージを表示するように自分を納得させることができれば、それほど問題はありません。しかし、推測するだけで、私が望んでいたことを達成することは可能ですか?

4

1 に答える 1

0
<s:if test="hasActionErrors()">
        <s:actionerror/>
</s:if>

このコードは、エラーを表示したい場所に配置できます。また、ページの読み込み時に表示するフォームを含む対応する div を表示する場合は、JavaScript コードで同じ戦略を使用できます。

<script>
 <s:if test="hasActionErrors()">
         document.getElementById("div2").display="block";//or trigger click on the corresponding link
 </s:if>
</script>

この投稿から

hasFieldErrors()それを使用している場合は置き換えます

于 2012-07-26T11:52:47.717 に答える