nutz初使用之MVC HelloWorld (netbeans jsp版)

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;
}
}


下图是运行结果界面:

[img]http://dl.iteye.com/upload/attachment/298484/f1b9b366-6b89-3d18-b249-4ee50de52f9f.jpg[/img]
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值