2

struts2 アプリケーションでメトロ CSS テーマを使用しています。私は正常に動作していたCSSクラスでhtmlタグを使用していました。しかし、検証ロジックを作成しているときに、フォームは検証されますが、エラーは表示されないことがわかりました。

<form action="register.action" method ="post" validate="true">
 <div class="input-control text span3">
    <input type="text" name="username" placeholder="Enter User Name" value="" />
    <span class="helper"></span>
 </s:div> 
</form>

次に、struts2 html タグに切り替えたところ、エラーが表示され始めましたが、現在はスタイルが添付されていません。struts2 html タグの cssClass 属性を使用してフォームと div タグにスタイルを与えましたが、うまく機能しましたが、<input type="text">タグ<s:textfield>を入力ボックスに添付されたすべてのスタイルに変更した後はなくなりました。

CSS スタイルを保持する struts タグの使用方法を教えてください。

4

2 に答える 2

8

cssClassタグのプロパティを使用<s:textfield>し、CSS スタイルを追加してフォームをスタイルアップできます。

<s:textfield cssClass="mytext" ... />

//css
.mytext {
}

ここで注目すべきことの 1 つは、Struts2 タグがデフォルトでxhtmlテーマを使用することです。したがって、フォームとともに多くの html コードが生成されます。Struts2 のデフォルトを使用する代わりに、デフォルトのテーマをcss_xhtmlに変更して、独自のスタイルを適用することができます。

ファイルに以下を追加しstruts.propertiesます。struts.ui.theme = css_xhtml

参考:Struts 2 でのデフォルトテーマのオーバーライド

于 2012-12-15T15:52:00.857 に答える
4

独自のスタイルと要素を持つすべての JSP が既にある場合は、Struts2simpleテーマを使用します。このテーマは、追加の要素を作成したり、検証エラーを表示したりしません。ただし、検証エラーhttp://struts.apache.org/2.x/docs/fielderror.htmlfielderrorを表示するタグを使用できます。したがって、フォームは次のようになります。

<form action="register.action" method ="post" validate="true">
  <div class="input-control text span3">
    <s:fielderror fieldName="username"/>
    <s:textfield name="username" placeholder="Enter User Name"/>
    <span class="helper"></span>
  </s:div>
</form>

定数struts.xmlを使用して、ファイル内のアプリケーション全体のデフォルト テーマを定義できます。struts.ui.theme

<constant name="struts.ui.theme" value="simple" />
于 2012-12-15T17:52:09.687 に答える