freemark java 一个简单例子 博客分类: freemark JavaStrutsfreemarkerServletApache
程序员文章站
2024-02-18 12:57:10
...
freemarker-2.3.8.jar
struts2-core-2.0.11.2.jar
我也是初学者,不知道有些地方对不对。乱写。呵呵。
工程 MyEclipse6 目录结构如图。有些东西可以不要的。
先写JSP代码吧。这是前端的。
<%@ page language="java" pageEncoding="UTF-8"%> <%@ taglib prefix="s" uri="/struts-tags" %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>用户登录</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> </head> <body> <s:form action="userLogin"> 用户名称:<s:textfield name="username"/><br> 用户密码:<s:textfield name="password"/> <s:submit value="登录" /> </s:form> </body> </html>
再就是配置文件了。
先当然写 web.wml 配置文件。
如下:
<?xml version="1.0" encoding="UTF-8"?> <web-app 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"> <!-- 配置过滤器,来启动struts2 ,它会自动读取你的 STRUTS2的配置文件。 struts.xml --> <filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</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> </web-app>
再看struts2 的配置文件。 具说 struts1 与 struts2 配置有些区别,因为本人没有用过 struts1 也有也知道有哪些区别。struts的一些配置说明,如果你不了解,还是要了解一下它的意思。后面我再写下。
见代码。
<?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> <package name="struts" extends="struts-default"> <action name="userLogin" class="com.test.action.LoginAction" method="userLogin"> <result name="success" type="freemarker"> /WEB-INF/templates/user.ftl </result> </action> </package> </struts>
type="freemarker" 这个,如果用 freemark ,这个一定要写,不然报错。最初我也是报错,在网上找了好久,才知道自己少了个 type 呵呵。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~`
上面说到 ftl ,那再就把 ftl 配置文件送上吧。
代码很简单。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>freemark end</title> </head> <body> username:<@s.property value="username"/> <br/> password:<@s.property value="password"/> 登录! </body> </html>
还有个 struts2环境的配置文件。
freemarker.properties
default_encoding=gbk
也可是utf-8 , 但 gb2312 我就没用过了。