<s:set name="student" value="@com.abc.StudentFactory@getStudent(#id)"></s:set>
为什么struts2标签中的set可以这样用@来调用方法,而且只能是静态方法,而且只能调用一次
<s:set name="student" value="@com.abc.StudentFactory@getStudent(#id)@getName()"></s:set>
这样不行的
这属性的student能用<%%>获得进行处理吗?
为什么struts2标签中的set可以这样用@来调用方法,而且只能是静态方法,而且只能调用一次
<s:set name="student" value="@com.abc.StudentFactory@getStudent(#id)@getName()"></s:set>
这样不行的
这属性的student能用<%%>获得进行处理吗?
还可以试着使用el标签比较方便
至于不能连续调用的这个问题, 你自己想一下, 你第一次调用的返回结果是什么.?是个对象吧.? 那么OGNL表达式支持方法调用(静态非静态都可以), 你第一次返回值了以后, 返回一个Stu对象,那么stu.name或者stu.getName()不就可以完成你想要的.?
<%
ActionContext.getContext().getContextMap.get(key);
%>
还有个
这属性的student能用<%%>获得进行处理吗?
获得的student想放入<%%>中进行处理
就是标签中的对象怎么能放入页面代码中进行处理
你<s:set>的时候加一个属性var="stu"; 那么这个叫stu的变量会被存到OGNL Context中(就是一个Map).
刚才上面的<%%>的代码
ActionContext.getContext().getContextMap().get("stu");可以拿到你想要的值
ContextMap 就是OGNL Context了.!