`

Freemarker---IsMy

阅读更多
刚刚接触了FreeMarker觉得不错
做了个小例子
首先建立个数据表里面有username,password两个字段自己随便加几条数据
建立一个Webwork action TestAction.Java
在struts.xml里加入如下内容
----------------------------------------
<action name="test" class="com.action.TestAction">
<result name="success" type="freemarker">/test.flt</result>
</action>
----------------------------------------
TestAction.java代码如下
----------------------------------------
package com.action;
import com.opensymphony.xwork.ActionSupport;
import java.util.*;
import com.ResultGather;
public class TestAction extends ActionSupport
{
private List lis;
private ResultGather rs;
public List getLis()
{
return this.lis;
}
public String execute() throws Exception
{
rs = new ResultGather();
lis = rs.selectRS("select * from userbasedatum");//数据结果我是用List,HashMap封装的,HashMap存的是单条记录
return SUCCESS;
}
}
---------------------------------------------------
ResultGather.java代码如下
---------------------------------------------------
package com;
import conn.DBConnManager;//数据库连接池
import java.sql.*;
import java.util.*;
public class ResultGather
{
private String sql;
public ResultGather()
{
}
public ResultGather(String sqlcom)
{
this.sql=sqlcom;
}
public List selectRS(String sqlStr)
{
this.sql = sqlStr;
return selectRS();
}
public List selectRS() //数据结果在这里装入List和Map
{
List rsall = new ArrayList();
DBConnManager conn = null;
Connection con = null;
Statement stmt = null;
ResultSet rs = null;
Map rsTree;
try{
conn = DBConnManager.getInstance();
con = conn.getConnection("MSSQL");
stmt = con.createStatement();
rs = stmt.executeQuery(sql);
ResultSetMetaData rsmd = rs.getMetaData();
int numberOfColumns = rsmd.getColumnCount();
while(rs.next())
{
rsTree = new HashMap(numberOfColumns);
for(int r=1;r<numberOfColumns 1;r )
{
rsTree.put(rsmd.getColumnName(r),rs.getObject(r));
­
}
rsall.add(rsTree);
}
­
}catch(java.lang.Exception ex){
ex.printStackTrace();
}finally{
try{
if(rs!=null)
rs.close();
if(stmt!=null)
stmt.close();
if(conn!=null)
conn.releaseConnection("mssql",con);
}catch(Exception e){
System.out.println(e);
}
}
return rsall;
}
}
-------------------------------------------------------------
test.flt代码如下
-------------------------------------------------------------
<#list lis as x>
${x.username},
${x.password}<br>
</#list> //freemarker用法网上有相关介绍
-------------------------------------------------------------
OK 完成了 没有用到JSP<%.....%>和jsptag
用这个例子做一点修改就可以具有分页用能了
分享到:
评论

相关推荐

    freemarker语法完整版

    ### Freemarker语法完整版知识点详解 #### A. 概念 **1. Scalars(标量)** - **字符串**: 由单引号或双引号括起来的文本。 - **数字**: 直接使用数值。 - **日期**: 通常从数据模型中获取。 - **布尔值**: `...

    freemarker总结

    JAVA模版引擎Freemarker常用标签(一) 1. if指令 这是一个典型的分支控制指令,该指令的作用完全类似于Java语言中的if,if指令的语法格式如下: &lt;#if condition&gt;... &lt;#elseif condition&gt;... &lt;#elseif condition&gt;......

    FreeMarker开发指南

    - **直接调用Java对象的方法**: FreeMarker允许直接调用Java对象的方法,如`${myObject.myMethod()}` - **字符串处理**: 内置字符串函数,如拼接、切割、查找替换等。 - **初始化Sequences和Hashes**: 在模板中...

    FreeMarker 快速入门 上手

    dataModel.put("pageTitle", "My Website"); dataModel.put("visitorName", "John Doe"); dataModel.put("currentDate", new Date()); ``` 最后,我们使用 FreeMarker 引擎将这两个结合起来: ```java ...

    freemarker 语法学习

    根据提供的信息,我们可以详细探讨Freemarker的相关知识点及其在实际应用中的使用方法。 ### Freemarker简介 Freemarker是一款用Java编写的模板引擎,它基于模板来生成文本输出。Freemarker本身是纯Java实现的,...

    freemarker生成静态网页

    model.put("title", "My Static Page"); model.put("user", "John Doe"); model.put("date", new Date()); ``` 4. **生成静态文件**:使用Freemarker的`Template`类加载模板文件,然后结合数据模型生成最终的...

    freemarker命令简介

    ### Freemarker命令简介 Freemarker 是一个用 Java 编写的模板引擎,它基于模板来生成文本输出。这些模板可以是任何格式的纯文本文件,例如:HTML、XML、Java 源代码等。Freemarker 通过指令、内置方法等提供了一套...

    jfinalpluginsjfinal-dreampie.zip

     public void handle(String target, HttpServletRequest request, HttpServletResponse response, boolean[] isHandled) {  request = new HttpServletRequestWrapper(request);  nextHandler....

    freemark使用手册中文版

    例子:&lt;#import "/libs/mylib.ftl" as my&gt; 五、压缩语法 Freemarker 提供了 compress 语法,用于压缩 HTML 代码。 例子:&lt;#compress&gt; ... 六、总结 Freemarker 是一种功能强大且灵活的模板引擎,它提供了多种...

    SiteMesh教程及SiteMesh官方文档翻译.docx

    同时,SiteMesh 支持 FreeMarker 和 Velocity 等模板引擎,使得开发者可以选择自己喜欢的模板语言进行页面设计。 总的来说,SiteMesh 是一个强大的工具,可以帮助开发者构建整洁、易于维护的 Web 应用程序。通过...

    freemark文档

    标题与描述均提到了“freemark文档”,这实际上是指FreeMarker——一种用于生成动态内容的模板引擎,尤其在Java环境中非常流行。FreeMarker允许开发者创建模板,这些模板能够结合数据模型来生成各种类型的文档,包括...

    freemark例子

    ${person.name} is ${person.age} years old. ``` 3. **Namespace(命名空间)**: Namespace允许你引用另一个FreeMarker模板文件的资源。通过命名空间,你可以调用其中定义的宏或变量。例如: ```html ...

    java插值.rar

    String message = String.format("My name is %s and I am %d years old.", name, age); ``` 2. **StringBuilder或StringBuffer**:对于大量字符串拼接,可以使用`StringBuilder`或线程安全的`StringBuffer`,...

Global site tag (gtag.js) - Google Analytics