3

テンプレート フレームワークとして Apache Tiles 2.1 を (Spring MVC と共に) 使用しています。

Tiles 定義ファイル内から HTML 属性値を設定できる最善の方法を知りたいです。たとえば、テキスト ボックスがあり、定義内から maxlength 属性を設定できるようにしたいと考えています。私は次のことがうまくいくと思っていました -

<input id="nameField" type="text"
    maxlength="<tiles:insertAttribute name='maxlength' />" />

この定義を使用して -

<definition name="sprint-goal" >
       <put-attribute name="maxlength" value="100" />
</definition>

しかし、HTML タグ内に配置されている場合、Tiles は <insertAttribute/> タグを無視するようです。それ以外の場合は正常に動作します。

注: ViewPreparer を使用して、リクエスト スコープの値を設定しようとしました。これは機能しますが、まさに私が探しているものではありません。Tiles 定義内から HTML 属性値を簡単に設定したいと考えています。

4

2 に答える 2

2

html 要素の属性の値を設定するには、式言語を使用するのが最善の策です。まず、タイルの useAttribute タグを使用して、タイル属性を Java 変数として公開します。次に、「${}」を使用して変数を出力します。

例:

<tiles:useAttribute name="myMaxLength" id="maxLength" />

<input id="nameField" type="text" maxlength="${myMaxLength}" />

詳細情報: - 2014 年 6 月更新: https://tiles.apache.org/2.2/framework/tiles-jsp/tlddoc/tiles/useAttribute.html - http://docs.oracle.com/javaee/1.4/tutorial/ doc/JSPIntro7.html

于 2013-01-25T22:21:18.000 に答える
0
 <put-attribute name="maxlength" value="100" type="string" />

タイプが「文字列」として定義されていない場合、含める URL として取得されます...

于 2010-11-08T18:33:11.550 に答える