我找了一天,还是没有找到想要的答案……求高手解答。第一次使用Freeer,不熟悉啊。我把我测试的代码也列出来了,懂的兄弟朋友,帮忙看看啊!需求:跟一般的CMS一样,首页由几个栏目列表组成。每个栏目列表都对应一个模板文件。我看了其他CMS的模板文件,首页的ftl都是这样的:<#include "common_tag.ftl"/>
<#include "other_tag.ftl"/>
<#include "action_cms.ftl"/>
<#include "action_article.ftl"/>
<#include "action_auxiliary.ftl"/>
<#include "nonaction_article.ftl"/>
<#include "action_download.ftl"/>我的问题是,这些对应的ftl文件的Action是怎么调用的?我写了一个测试文件,Action如下,对应的ftl文件是ts1.ftl
public class Ts1Temp extends ActionSupport {
private static final long serialVersionUID = -4899468783043171233L;
private String names; public String execute(){
this.names ="Sina";
return SUCCESS;
}
public String getNames() {
return names;
}
public void setNames(String names) {
this.names = names;
}
}
第二个文件是ts2.ftl,对应的Action是:public class Ts2Temp extends ActionSupport {
private static final long serialVersionUID = -4899468783043171233L;
private String name; public String execute(){
this.name ="Sina";
return SUCCESS;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = names;
}
}
第一个FTL文件的内容:the value of ts.ftl : <@s.property value="name"/>
<br/>
<#include "ts2.ftl"/>第二个FTL内容:the value of ts2.ftl : <@s.property value="names"/><br/>Struts2的配置文件:
<action name="ts" class="test.tmpl.TsTemp">
<result name="success" type="freeer">WEB-INF/ts.ftl</result>
</action>
<action name="ts2" class="test.tmpl.Ts2Temp">
<result name="success" type="freeer">WEB-INF/ts2.ftl</result>
</action>
结果只能显示ts1.ftl里的值,ts2.ftl的值没有显示。这结果也在我的意料之中,因为ts2的Action并没有被调用啊。可是,要怎么样才能自动执行ts2的Action并把结果传到ts2.ftl中去呢?
这肯定有什么方法的,只是我不知道而已……急求,在线求高人解答……
<#include "other_tag.ftl"/>
<#include "action_cms.ftl"/>
<#include "action_article.ftl"/>
<#include "action_auxiliary.ftl"/>
<#include "nonaction_article.ftl"/>
<#include "action_download.ftl"/>我的问题是,这些对应的ftl文件的Action是怎么调用的?我写了一个测试文件,Action如下,对应的ftl文件是ts1.ftl
public class Ts1Temp extends ActionSupport {
private static final long serialVersionUID = -4899468783043171233L;
private String names; public String execute(){
this.names ="Sina";
return SUCCESS;
}
public String getNames() {
return names;
}
public void setNames(String names) {
this.names = names;
}
}
第二个文件是ts2.ftl,对应的Action是:public class Ts2Temp extends ActionSupport {
private static final long serialVersionUID = -4899468783043171233L;
private String name; public String execute(){
this.name ="Sina";
return SUCCESS;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = names;
}
}
第一个FTL文件的内容:the value of ts.ftl : <@s.property value="name"/>
<br/>
<#include "ts2.ftl"/>第二个FTL内容:the value of ts2.ftl : <@s.property value="names"/><br/>Struts2的配置文件:
<action name="ts" class="test.tmpl.TsTemp">
<result name="success" type="freeer">WEB-INF/ts.ftl</result>
</action>
<action name="ts2" class="test.tmpl.Ts2Temp">
<result name="success" type="freeer">WEB-INF/ts2.ftl</result>
</action>
结果只能显示ts1.ftl里的值,ts2.ftl的值没有显示。这结果也在我的意料之中,因为ts2的Action并没有被调用啊。可是,要怎么样才能自动执行ts2的Action并把结果传到ts2.ftl中去呢?
这肯定有什么方法的,只是我不知道而已……急求,在线求高人解答……
解决方案 »
- 求一句mysql数据库查询语句。SSH2的。大神现身啦~~
- MD5算法给密码加密的用法
- 使用MyEclipse时很奇怪!
- 50分问如何局域网内访问自己tomcat发布的主页
- 在同一个jsp中2个独立的frame,点开其中一个frame的连接,如何在出现新页面的同时关掉另一个frame呢?(请高手帮忙)
- sqlserver中是中文,但是取出后是?
- 谢谢~~希望得到指点。web服务器与应用服务器的问题
- 为什么我用getParameter取到的是null
- 关于EasyUI帮助文档,有个地方看不懂,求解读
- response.sendRedirect问题
- spring web flow 获取全局变量 application
- 求助:JAVA 泛型类返回值为null
<#include "other_tag.ftl"/>
<#include "action_cms.ftl"/>
<#include "action_article.ftl"/>
<#include "action_auxiliary.ftl"/>
<#include "nonaction_article.ftl"/>
<#include "action_download.ftl"/>
在页面上,这里不能直接include ftl文件,这里你可以include action,然后在struts.xml配置action时将它的result配置成freeer,然后指定的文件是对应的ftl页面文件。struts2中有include action的标签,你看一文档中的tags一单节以及freeer tag标签就知道了。还有就是你如果是通过CMS发布内容,前台展现的话,为何不直接将其内容通过freeer静态化了,在前台直接显示生成的html页面不是更好吗?就不需要每次都生成啊,如果是每次都重新生成的,使用freeer与使用jsp有什么区别呢?