0

所以我在这里,编写一个由 Struts2 动作调用的 Apache Tiles 调用的 JSP 脚本。一切正常,但我只是好奇我可以访问哪些范围。

  1. 我(认为我)理解以下块在 JSP 的范围内,因为我可以访问各种JSP 隐式对象

    <% stuff in here (and variations of this type of tag) %>
    
    ${ stuff in here }
    
  2. 而且我知道我可以使用各种Struts2 Tags访问 Struts2 Action ,但我只有“bean 访问权限”:

    <%@ taglib uri="/struts-tags" prefix="s" %>
    <s:property value="beanAccessorHere"/>
    
  3. 然后,我只知道访问实际 Action 上下文的一种方法(我认为),但仅在 Struts2“if”标签中:

    <s:if test="%{variableInMyAction == null}">
    </s:if>
    

所以,我想知道是否

  1. 有一种方法可以访问 Action 上下文,例如#3,但以更灵活的方式,例如#1
  2. 如果我可以使用#3中的 %{} 语法,但可以在 Struts“if”标记之外的任何地方使用。

谢谢你的时间!

4

1 回答 1

1

所以我相信我已经想通了。

有一种方法可以像 #3 那样访问 Action 上下文,但是以像 #1 那样更灵活的方式。

我可以用它<s:property value="%{now_in_action_context}"/>来访问我的 Action 中的变量,事实上,可以%{}在许多不同的 Struts 标记中使用该语法。

如果我可以使用 #3 中的 %{} 语法,但可以在 Struts“if”标记之外的任何地方使用。

(上面已回答)

我也可以做一些事情,比如使用<s:set name="myVar" value="%{somethingFromAction()}"/>,然后,稍后,像这样访问 myVar:<s:property value="#myVar.thing"/>调用myVar.getThing()或什至<s:property value="%{#myVar.getThing()}"/>.

于 2011-07-15T14:07:34.777 回答