精华帖 (0) :: 良好帖 (0) :: 新手帖 (1) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2008-07-26
为index的Action中重写excute方法如下: @Override public String execute() throws Exception { this .addActionError( " 系统错误 " ); return SUCCESS; } 对应的SUCCESS是一个ftl模板,使用了Struts2的action标签: <@s.action name="input" namespace="/admin" executeResult=true ignoreContextParams=true /> 名为input的Action中重写excute方法如下: @Override public String execute() throws Exception { ActionContext ctx = ActionContext.getContext(); ctx.put( "listTemp" , new ArrayList()); return SUCCESS; } 对应的SUCCESS也是一个ftl模板: <ul> <#list listTemp as nav> <li> ${nav} </li> </#list> </ul>
这个时候执行代码 freemarker会提示“<pre>Expression listDaoHangLieBiao is undefined</pre>”为什么会这样了? @Component("inputAction") @Scope( "prototype" ) public class Sxt_DaoHang_XianShiAction extends ActionSupport implements Preparable{ @Override public String execute() throws Exception { return SUCCESS; } public void prepare() throws Exception { ActionContext ctx = ActionContext.getContext(); ctx.put( " listTemp " , new ArrayList()); } } 执行---成功 <@s.action name="login" namespace="/admin" executeResult=true ignoreContextParams=true /> 注意和Struts2的标签写法略有不同,因为这里使用了Freemarker做模板,所以使用的freemarker的写法,特别的是executeResult=true ignoreContextParams=true而按照Struts2的标签应该是executeResult="true" ignoreContextParams="true" 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2009-06-17
我在freemarker中用
<@s.action name="zwindex" executeResult="true" ignoreContextParams="true"/> 一直报java.lang.IllegalArgumentException: argument type mismatch The problematic instruction: ---------- ==> user-directive s.action [on line 22, column 17 in template/admin/area/add.ftl] ---------- Java backtrace for programmers: 但是直接jsp中用<s:action name="zwindex" executeResult="true" ignoreContextParams="true"/> 是正常显示的。 楼主后来这个在freemarker中是否已经解决了? 我这个问题是什么原因引起的,还是freemarker不支持这个action标签 |
|
返回顶楼 | |
发表时间:2009-06-17
<#assign s=JspTaglibs["/WEB-INF/struts-tags.tld"]>
<@s.action name="test" executeResult=true/> 出现 java.lang.IllegalStateException: Cannot create a session after the response has been committed 为什么呢?难道FreeMarker应为是静态的所以关闭了流? LZ是怎么试验成功的? |
|
返回顶楼 | |
发表时间:2009-06-19
楼上的,我的解决了,
可以在jsp中引入freemarker,用到s:action标签, 貌似只能在jsp中用,曲线救国吧 |
|
返回顶楼 | |
发表时间:2009-06-19
我也实验过了 freemarker又没问题了.
[又] 很摸名奇妙的又好了 |
|
返回顶楼 | |
发表时间:2009-06-20
呵呵,在STRUTS2中还没有使用过freemarker。
|
|
返回顶楼 | |
浏览 6039 次