2.3. nutz初使用之MVC HelloWorld (netbeans jsp版)
说明:
(1) 这是nutz与jsp进行相互通讯
(2) netbeans 6.9.1版开发,nutz 1.a.31,
(3) 功能:打开newjsp.jsp,输入姓名、年龄,按提交,nutz收到newjsp.jsp发出的信息, 增加点信息,结果用json形式返回给newjsp.jsp。newjsp.jsp显示返回值。其中:A 在服务器处理过程中,用request设了新的值,而newjsp.jsp也通过request进行显示;B newjsp.jsp在处理服务器返回结果时,通过js对json形式的返回结果进行了解析。
2.3.1. 步骤1 从官方下载Nutz,并导入新建工程中
方法:选中Libraries,按右键,选ADD JAR/Fold,选中解压后的nutz
2.3.2. 步骤2 配置WEB.xml
下面是完整代码:新增的仅含有filter
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<session-config>
<session-timeout>
30
</session-timeout>
</session-config>
<filter>
<filter-name>nutz</filter-name>
<filter-class>org.nutz.mvc.NutFilter</filter-class>
<init-param>
<param-name>modules</param-name>
<param-value>MainModule</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>nutz</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
2.3.3. 步骤3 建jsp文件,这里文件名为:newjsp.jsp
代码说明:
(1) 用了js对json形式的返回结果进行了解板析。
(2) newjsp.jsp位于工程WEB Page下,即网站的页面的根目录下。
完整代码:
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
<script type="text/javascript"></script>
</head>
<body>
<form id="formtest" action="yousay" method="post">
<p><span>输入姓名:</span><input type="text" name="username" id="username" /></p>
<p><span>输入年龄:</span><input type="text" name="age" id="age" /> </p>
<input type=submit value= "test ">
</form>
<br /><br />
<div>服务器用request设定的值:</div>
<div>姓名_年龄-----<%=request.getAttribute("username_age")%></div>
<br />
<div>服务器返回结果:</div>
<div id="result_sv"><%=request.getAttribute("obj")%></div>
<br />
<div>对服务器的json形式的返回结果,用js进行解析:</div>
<div id="result"></div>
<script type="text/javascript">
var rs=document.getElementById("result_sv").innerHTML;
if (rs){
eval("json=" + rs + ";");
var str="姓名:"+json.username+"<br />";
str+="年龄:"+json.age+"<br />";
str+="追加测试:"+json.append;
document.getElementById("result").innerHTML=str;
}
</script>
</body>
</html>
2.3.4. 建立MainModule.java
说明:
(5) @ Modules ----指明了子模块为HelloWorld,可以有多个用逗号分开
(6) @Fail("json") ---指明了失败格式为json
完整源代码:
import org.nutz.mvc.adaptor.PairAdaptor;
import org.nutz.mvc.annotation.*;
import org.nutz.mvc.ioc.provider.JsonIocProvider;
@Modules({HelloWorld.class}) @Fail("json")
public class MainModule {}
2.3.5. 建立HelloWorld.java
说明:
(7) 该类必须在MainModule注释中出现,否则不起作用
(8) @Ok("jsp:/newjsp")----指明入口函数返回到new.jsp页面中
(9) @At("/yousay")----指明随后的函数 负责响应网页或用户发出的请求。请求格式为:基网址/yousay。例:http://localhost:8084/HelloNutz1/yousay
完整源代码:
import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import org.nutz.lang.Strings;
import org.nutz.mvc.annotation.At;
import org.nutz.mvc.annotation.Ok;
import org.nutz.mvc.annotation.Param;
// @Ok("json")
public class HelloWorld {
@At("/yousay")
@Ok("jsp:/newjsp")//返回形式是jsp
public String tellMore( HttpServletRequest request,
ServletContext context,
@Param("username") String username,
@Param("age") String age,
HttpSession session) {
request.setAttribute("username_age", username+"_"+age);
String str="{'username':'" + username +"','age':'"+age+"','append':'nuzamAppend'}";
return str;
}
}
下图是运行结果界面:
- 大小: 29.8 KB
分享到:
相关推荐
NULL 博文链接:https://yunhaifeiwu.iteye.com/blog/746735
NULL 博文链接:https://yunhaifeiwu.iteye.com/blog/743368
用开源框架nutz搭建的MVC框架,适合小型系统的开发,快捷方便!
该框架是一个开源项目,可以免费下载, 集成的DAO,MVC,Spring 等框架的功能 不需要其他jar包 学习容易,好用
nutz 使用手册 nutz 使用手册 nutz 使用手册 nutz 使用手册 nutz 使用手册 nutz 使用手册 nutz 使用手册 nutz 使用手册 nutz 使用手册 nutz 使用手册 nutz 使用手册
NULL 博文链接:https://yanshaozhi.iteye.com/blog/1006218
nutz框架使用手册,从零到有深入学习nutz平台开发
SpringMVC+Nutz框架介绍.pdf
Mvc 框架 -- Nutz.Mvc Json 解析器 -- Nutz.Json 更多的简化Java语法的函数和类 -- Nutz.Lang 以及 Nutz.Castors 不依赖任何第三方 Jar 包,从而便于程序员建立开发环境,部署,甚至重新编译 Nutz 的源代码。 不幸的...
NULL 博文链接:https://yunhaifeiwu.iteye.com/blog/1041416
活 -- 各个部分可以独立使用,比如在 Spring 里采用 Nutz.Dao ,又比如在 Nutz.Ioc 里使用 Hibernate 等 整 -- 它所有功能均不依赖第三方 jar 文件。 这就意味着:如果一个 Web 应用,你在 WEB-INF/lib 下只 需要...
同传统的 SSH 相比,它具备如下特点:轻 -- 当前最新版,整个 jar 文件共 910kB -- 针对 JDBC 的薄封装,无缓存全 -- 提供了 Dao (ORM, SQL 管理), Ioc, Aop, Mvc, Json解析 等必要功能活 -- 各个部分可以独立使用,...
Nutz高效开发框架是国内比较独立强大的技术团队开发的轻量级的框架快捷实用工具,由于可以方便地在各种数据库中调用存储数据,所以可以称之为方便程序员通行的项目大厦的手脚架工具。对于从事数据库相关的程序员来说...
Nutz, 它是一组轻便小型的框架的集合。 -------------Nutz 可以做什么? Dao -- 针对 JDBC 的薄封装,事务模板,无缓存 Ioc -- JSON 风格的配置文件,声明时切片支持 Mvc -- 注解风格的配置,内置多文件上传功能 ...
NULL 博文链接:https://feiyan35488.iteye.com/blog/844470
活 -- 各个部分可以独立使用,比如在 Spring 里采用 Nutz.Dao ,又比如在 Nutz.Ioc 里使用 Hibernate 等 整 -- 它所有功能均不依赖第三方 jar 文件。这就意味着:如果一个 Web 应用,你在 WEB-INF/lib 下只 需要放置...
让nutz支持freemarker。 具体使用和在struts2中使用是一样的
NULL 博文链接:https://gevin.iteye.com/blog/1131500