想问一下实际SSH项目中freemarker的使用
初学了freemarker,不知道实际的SSH项目中,具体是怎么使用的。我想了一个流程,不知道是不是这样的,请大侠指教,谢谢!举例,要生成 show.html,我想的流程如下:
第一步:这个页面事先建好 form.html ,首先会运行这个页面提交username数据
<form action="
formaction " method="post">
<input type=text name="
username ">
<input type="submit" value="submit">
</form>
第二步,建立好模板文件show.ftl
<html><body>${username}</body></html>
第三步:建立
formaction 对应的处理类FormAction.java,主要源码如下:
public class FormAction{
private String username; // 省略set和get方法
public String execute(){
Map root = new Map();
root.put("username",username);
Writer out = new OutputStreamWriter(new OutputStream(new File("
show.html ")));
//注:省略获取freemarker环境变量configuration的代码
Template template = configuration.getTemplate("show.ftl")
//
就在这一步生成静态文件show.html,合适吗?
template.process(root,out);
return "success";
}
}
第四步,struts.xml中设置好对应关系
<action name="formaction" class="FormAction">
<result>show.html</result>
</action>
这样通过在表单页面form.html中,填写username的数据,然后提交给action处理,在action中生成静态文件,再返回这个生成的静态文件。实际SSH项目中是这样处理的吗?拜谢!!!
------解决方案-------------------- 是这样处理的
------解决方案-------------------- 有两种做法,1、你直接跳转freemarker的ftl模板,2、生成静态页面去访问。
------解决方案-------------------- return "success";
有一个配置文件可以配置跳转到那个模版中(据说可以是注解等等。)
你这样写不是觉得很累么??
freemarker 在开发 中 是不可见的。
------解决方案-------------------- struts中也是在freemarker中的基础上转换的,所谓的struts标签,C标签也是
------解决方案-------------------- 引用: Quote: 引用:
return "success";
有一个配置文件可以配置跳转到那个模版中(据说可以是注解等等。)
你这样写不是觉得很累么??
freemarker 在开发 中 是不可见的。 在开发中不可见是什么意思
struts2 直接封装好了。
------解决方案-------------------- jsp如何生成静态页面呢
------解决方案-------------------- 引用: Quote: 引用:
Quote: 引用:
Quote: 引用:
return "success";
有一个配置文件可以配置跳转到那通过个模版中(据说可以是注解等等。)
你这样写不是觉得很累么??
freemarker 在开发 中 是不可见的。 在开发中不可见是什么意思
struts2 直接封装好了。
struts2可以直接跳转到freemarker模板中,这个我是知道的。但是我不理解有什么用处。难道是在struts2的action 控制类中获取数据,然后再将数据给freemarker模板?可是给模板了数据有什么用啊,模板文件又不能直接在浏览器中读取啊!不还得去通过IO生成静态网页啊
你就把freemarker当成jsp吧