今天看了看Freemarker,想要用它来和struts2做整合,来实现所谓的真正的MVC,呵呵
网上找了些资料,看了个大概。但是,在Freemarker的开发中,一直没有一个很好的IDE,官司方提供的Eclipse插件功能并不强大,只有一个语法高亮的功能,对于像以往的自动提示等一些都没有。
我们只好徒手写了。哈哈
首先新建一个WEB工程,起名为FirstFreemarker,在这个工程中加入struts2常用的那六个JAR包。在src目录下添加struts.xml
代码如下:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<constant name="struts.enable.DynamicMethodInvocation" value="false" />
<constant name="struts.devMode" value="false" />
<package name="default" extends="struts-default">
<action name="test" class="com.test.TestAction">
<result name="success" type="freemarker">test-success.ftl
</result>
</action>
<action name="login">
<result type="freemarker">/login.ftl
</result>
</action>
</package>
</struts>
之后在WebRoot目录下新建自己需要的flt格式的文件,即Freemarker文件。
登录文件如下:
<#assign s=JspTaglibs["/WEB-INF/struts-tags.tld"] />
<html>
<head>
<title>Hello</title>
</head>
<body>
<@s.form action="/test.action">
<@s.textfield name="name"/>
<@s.submit/>
</@s.form>
</body>
</html>
其中
<#assign s=JspTaglibs["/WEB-INF/struts-tags.tld"] />
这一句是为了让Freemarker识别struts2的标签,因为在Freemarker文件内,除了它自己的,都会原样显示。
登录成功后的页面如下:<html>
<head>
<title>Hello</title>
</head>
<body>
Hello, ${name}
</body>
</html>
web.xml配置如下:
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_9" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<display-name>Struts Blank</display-name>
<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<servlet>
<servlet-name>JspSupportServlet</servlet-name>
<servlet-class>org.apache.struts2.views.JspSupportServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<welcome-file-list>
<welcome-file>login.action</welcome-file>
</welcome-file-list>
</web-app>
java代码如下:package com.test;
import com.opensymphony.xwork2.ActionSupport;
public class TestAction extends ActionSupport {
private String name = "ChainHou";
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public String execute() throws Exception {
return SUCCESS;
}
}
好了,到此,一个struts2整合Freemarker的HelloWorld就做完了。
代码我在文后以附件形式上传。
分享到:
相关推荐
NULL 博文链接:https://depravedangel.iteye.com/blog/443575
1.FreeMarker 2.3.16pdf手册 2.struts2+freemarker web项目例子,可以运行
struts2.0整合freemarker,成功运行
Springboot初探---FreeMarker 之 HelloWorld,很好的资源
Struts2框架技术对Freemarker做了很好的支持,开发人员只要熟悉Struts2的标签即可进行开发Freemarker模板文件,如果您还不熟悉具体的Struts2及标签应用请参考其他文献资料,本文主要阐述Struts2与Freemarker的配置...
基于Struts2和freemarker整合的小程序,能够自动生成html页面,能够运行
Struts2集成FreeMarker和Velocity,写成了工具类,快速实现页面静态化,以后直接调用即可,无需修改任何源代码,改压缩文件包括 1、工具类; 2、源码(含jar包); 3、mysql数据库可执行文件; 4、struts2集成...
Struts2与FreeMarker模板
struts2+freemarker
FreeMarker与Struts2结合的部署
自己写的一个框架例子,公司也在用,框架是struts2+hibernate+freemarker
Struts2 和freemarker实例 简单STRUTS2的使用,和freeMarker的使用
Struts2整合FreeMarker实例框架初学例子. myeclipse 工程代码. 利用Struts2生成静态页面其实很灵活,很强大,尤其是利用Struts2对Freemarker较好的支持,充分利用Freemarker的模板功能来生成静态页面。 比较简单....
这是一个struts2 freemarker 国际化的小例子
struts1.x整合freemarker
在struts2中使用freemarker模版.doc
部署到tomcat中, 访问/freemarker/build_index.action 点击首页生成,当显示生成成功过后 然后访问 ...已经完美将struts2+freemarker+spring整合~ 希望对你们有所帮助。 经测试:tomcat5.5 无法正常运行
适合初学freemarker的人参考的一个简单登录代码。主要是实现freemarker与struts2的整合
众所周知,struts2宣称freemarker模板中不再支持自定义标签,但如果工程UI仅用freemarker模板可以通过扩展struts标签简单实现,不是采用官方不推荐的配置JspSupportServlet实现的!内付详细说明及范例,此方法仅为团队...