Struts 2ラベルの<br>ラベルとJSTLの<br>タブ

9325 ワード

<:set>タグ
setラベルは、指定した範囲内に値を入れるために使用されます.例えばアプリケーション、セッション範囲など.
ある値が存在するオブジェクト図の深さが非常に深い場合、例えばperson.worker.wife.parent.ageは,この値にアクセスするたびに性能が低下するだけでなく,可読性も劣る.この問題を解決するには、変更した値を新しい値に設定し、特定の範囲に入れることができます.
setラベルのプロパティ:
name:必須、再生成された新しい変数の名前scope:オプションで、アプリケーション、session、request、page、actionの5つの値を受け入れる新しい変数が配置される範囲を指定します.指定されていない場合は、デフォルトではStack Contextに配置されます.
value:オプションで、変数に割り当てる値を指定します.指定しない場合は、ValueStackスタックの一番上の値を新しい変数に割り当てます.
var:オプションで、要素の参照IDを指定します.指定した場合、値はValue Stackに配置されます.
setラベルは、新しい変数を生成し、指定した範囲内に配置するために使用されます.これにより、JSP式言語を直接使用してこれらの変数にアクセスしたり、struts 2ラベルでアクセスしたりすることができます.
eg:
<!--  param   JavaBean      -->
<s:bean name="lee.Person" id="p">
    <s:param name="name" value="'yeeku'"/>
    <s:param name="age" value="29"/>
</s:bean>
 Stack Context  p        。<br>
<s:set value="#p" name="xxx"/>
<s:property value="#xxx.name"/> <br>
 Stack Context  p   application   <br>
<s:set value="#p" name="xxx" scope="application"/>
<s:property value="#attr.xxx.name"/> <br>
 Stack Context  p   session   <br>
<s:set value="#p" name="xxx" scope="session"/>
<!--  JSP2.0         session    -->
${sessionScope.xxx.name}<br>

コレクション内の値を取り出して<s:iterator id="dmsDocumentinfo" value="#request.dmsDocumentinfos"> // set <s:set name="str" value="#dmsDocumentinfo.documentDesc"> </s:set> // set <s:property value="#str" /> </s:iterator>
 
ラベル
ラベルは動作ラベルの双子の兄弟です.このラベルが役に立つのは、式の値を計算し、計算結果を使用してJavaBeanオブジェクトやjavaを設定するためです.util.Mapオブジェクトの値.
ツールバーの
ラベルには、次のプロパティがあります.
ツールバーの
説明
必要かどうか
デフォルト
value
保存する値
いいえ
本体の内容
target
変更する属性が属するオブジェクト
いいえ
なし
property
変更する属性
いいえ
なし
var
情報を格納する変数
いいえ
なし
scope
varプロパティの役割ドメイン
いいえ
Page
targetプロパティを指定した場合、propertyプロパティも指定する必要があります.
インスタンスのデモ
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<html>
<head>
<title>c:set     </title>
</head>
<body>
<c:set var="salary" scope="session" value="${2000*2}"/>
<c:out value="${salary}"/>
</body>
</html>

実行結果は次のとおりです.
4000