私の知る限り、両方のタグが変数をタイルコンテキストからJSPにインポートするため、変数はJSPで表示されます。importAttributeとuseAttributeの違いを詳しく説明してください。
質問する
1383 次
1 に答える
3
useAttribute
どうやら、期待される変数のクラス名を指定できることを除いて、2つの間に違いはありません。
importAttribute
タグのコードは次のとおりです。
@Override
public void doTag() throws JspException {
JspContext jspContext = getJspContext();
Map<String, Object> attributes = model.getImportedAttributes(JspUtil
.getCurrentContainer(jspContext), name, toName, ignore,
jspContext);
int scopeId = JspUtil.getScope(scopeName);
for (Map.Entry<String, Object> entry : attributes.entrySet()) {
jspContext.setAttribute(entry.getKey(), entry.getValue(), scopeId);
}
}
useAttribute
およびタグのコード:
@Override
public void doTag() throws JspException {
JspContext pageContext = getJspContext();
Map<String, Object> attributes = model.getImportedAttributes(JspUtil
.getCurrentContainer(pageContext), name, id, ignore,
pageContext);
if (!attributes.isEmpty()) {
int scopeId = JspUtil.getScope(scopeName);
pageContext.setAttribute(getScriptingVariable(), attributes
.values().iterator().next(), scopeId);
}
}
于 2012-12-11T03:52:27.057 に答える