昨天熟悉了一下nutz框架感觉不错,体积很小而且学习的门槛低,不像ssh2那样臃肿,但是他默认提供的视图不支持freemarker。
我是freemarker用久了已经离不开了,所以就按照它提供的视图接口做了个插件。
代码的一部分是参照struts2写的。
安装
1.把插件jar包和freemarker包放在lib目录下。
2.把freemarker的配置文件freemarker.properties放在classes目录下(不放这个文件会出错)
3.在主入口函数上加:@Views({FreemarkerViewMaker.class}) 注释
@Modules( { HostAction.class })
@IocBy(type = JsonIocProvider.class, args = { "ioc/dao.js"})
@SetupBy(MvcSetup.class)
@Views({FreemarkerViewMaker.class})
@Localization("msg")
@Fail("json")
public class MainModule {
}
4.如果想让freemarker支持jsp标签就在web.xml中放上一个servlet。这点和struts2设置是一样的。
<servlet>
<servlet-name>JspSupportServlet</servlet-name>
<servlet-class>
org.nutz.mvc.view.JspSupportServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
到此就大功告成了。
使用
转向@Ok("jsp:html.info")注释就可以改成@Ok("fm:/WEB-INF/html/info.html")。
@At
//@Ok("jsp:html.info")
@Ok("fm:/WEB-INF/html/info.html")
public String list(@Param("word") String word,HttpServletRequest request){
if(word!=null)
return word;
return "测试";
}
至于它的本地化字符串直接在模板中 ${Session["msg"].save} 取即可。
例子
模板代码:
[#assign fck=JspTaglibs["/WEB-INF/FCKeditor.tld"]]
<!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>info.html</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
</head>
<body>
<!--fckeditor编辑器start-->
[@fck.editor id="content"
basePath="${base}/jfeditor/"
width="800"
height="300"
toolbarSet="edit"]${obj}[/@fck.editor]
<!--fckeditor编辑器end-->
<input type="submit" value="${Session["msg"].save}" />
<input type="reset" value="${Session["msg"].reset}" />
</body>
</html>
效果
2009-12-16更新
更新个小的地方,模板中request取值直接可以${key}而不用${Request.key}。
- 大小: 40.6 KB
分享到:
相关推荐
"nutz的freemarker视图插件"使得Nutz框架能够无缝地集成Freemarker,提供了以下关键特性: 1. **配置**: - 在Nutz项目中添加`nutz-freemarker-plugin.jar`库,配置Nutz的MVC模块,指定视图解析器为Freemarker。 ...
默认情况下,Nutz会尝试将视图名解析为一个JSP或者FreeMarker模板文件。然而,开发者可能希望实现自定义的视图解析逻辑,例如使用Thymeleaf或其他模板引擎。 2. 自定义ViewResolver:要实现自定义视图解析,你需要...
Nutz MVC支持多种视图技术,如JSP、FreeMarker、Velocity等,通常通过`@Render`注解来指定渲染方式。 **二、搭建Nutz MVC框架步骤** 1. **环境准备**:确保已经安装了Java SDK和一个Servlet容器,如Tomcat或Jetty...
首先,Nutz的核心组件包括了Ioc(Inversion of Control,控制反转)和Mvc(Model-View-Controller,模型-视图-控制器)两大部分。Ioc容器负责对象的创建和管理,使得代码间的耦合度降低,提高了可维护性。Mvc模式则...
它支持RESTful API设计,提供模板引擎(如FreeMarker、Velocity等)进行视图渲染,并且集成了HTTP客户端库,方便进行服务器端的HTTP请求。 7. **非Web环境**: 尽管Nutz最初是为Web应用设计的,但其核心组件如IoC...
在MVC模式下,Nutz提供了Controller、Service、DAO三层架构,使得业务逻辑与视图层分离,便于代码维护和扩展。Controller负责处理HTTP请求,Service层处理业务逻辑,而DAO层则与数据库交互。Nutz还提供了强大的模板...
它允许开发者以简洁的代码实现业务逻辑,并且支持多种视图技术,如JSP、FreeMarker等。 2. **Nutz ORM**:Nutz ORM(对象关系映射)模块提供了对数据库操作的便捷支持,可以自动处理SQL语句的生成和执行,支持JDBC...
它支持多种视图技术,如JSP、FreeMarker、Velocity等,并且拥有良好的可扩展性,允许自定义拦截器和处理器映射。SpringMVC还支持国际化、主题和数据验证,以及文件上传和下载功能。 **Nutz** Nutz是一个高度灵活的...
- **视图模板**:可能包含HTML、FreeMarker或其他模板引擎文件,用于渲染前端页面。 - **测试代码**:通过单元测试和集成测试确保代码质量,通常位于`test`目录下。 3. **解压密码**:"www.cqlsoft.com"是解压此...
`Project`可能是项目的源代码目录,其中包含了应用的控制器、模型、视图等组件。 ### 其他依赖库 - `h2-1.2.144.jar`:H2数据库引擎,可能被用作开发和测试时的本地数据库。 - `nutz-1.b.37-RC.jar`:Nutz的核心库...
对于MVC架构,Beetl能够很好地配合Spring MVC、JFinal、Struts、Nutz以及Jodd等框架,实现高效的视图层渲染。 Beetl还提供了如`for-else`、`select-case`等控制结构,以及非空检查和三元运算符,使得模板语言更加...