struts2教程:2、第一个struts2应用开发
来源:互联网 发布:程序员修炼之道kindle 编辑:程序博客网 时间:2024/06/14 03:03
第一个Struts2应用--HelloWorld
在默认的配置文件struts.xml 中加入如下配置:
<?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="itcast" namespace="/test" extends="struts-default">
<action name="helloworld" class="cn.itcast.action.HelloWorldAction" method="execute" >
<result name="success">/WEB-INF/page/hello.jsp</result>
</action>
</package>
</struts>
Struts.xml配置中的包介绍
<package name="itcast" namespace="/test" extends="struts-default">
<action name="helloworld" class="cn.itcast.action.HelloWorldAction" method="execute" >
<result name="success">/WEB-INF/page/hello.jsp</result>
</action>
</package>
在struts2框架中使用包来管理Action,包的作用和java中的类包是非常类似的,它主要用于管理一组业务功能相关的action。在实际应用中,我们应该把一组业务功能相关的Action放在同一个包下。
配置包时必须指定name属性,该name属性值可以任意取名,但必须唯一,他不对应java的类包,如果其他包要继承该包,必须通过该属性进行引用。包的namespace属性用于定义该包的命名空间,命名空间作为访问该包下Action的路径的一部分,如访问上面例子的Action,访问路径为:/test/helloworld.action。 namespace属性可以不配置,对本例而言,如果不指定该属性,默认的命名空间为“”(空字符串)。
通常每个包都应该继承struts-default包,因为Struts2很多核心的功能都是拦截器来实现。如:从请求中把请求参数封装到action、文件上传和数据验证等等都是通过拦截器实现的。struts-default定义了这些拦截器和Result类型。可以这么说:当包继承了struts-default才能使用struts2提供的核心功能。 struts-default包是在struts2-core-2.x.x.jar文件中的struts-default.xml中定义。 struts-default.xml也是Struts2默认配置文件。 Struts2每次都会自动加载 struts-default.xml文件。
包还可以通过abstract=“true”定义为抽象包,抽象包中不能包含action,即抽象包中不能定义action,只能被继承。
第一个Struts2应用--HellWorld
例子中使用到的cn.itcast.action.HelloWorldAction类如下:
package cn.itcast.action;
public class HelloWorldAction{
private String message;
//get方法不能缺少,struts是通过反射技术来取得属性值的
public String getMessage() {
return message;
}
//访问属性时其实是访问的红色字体,message变量时可以变的,但红色字体不能变
public void setMessage(String message) {
this.message = message;
}
public String execute() {
this.message = "我的第一个struts2应用";
return "success";
}
}
第一个Struts2应用--HelloWorld
例子中使用到的/WEB-INF/page/hello.jsp如下:
<%@ page language="java" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>第一个struts2应用</title>
</head>
<body>
${message } <br>
</body>
</html>
可以使用EL表达式访问Action中的属性。
访问HelloWorld应用
在struts1中,通过<action path=“/test/helloworld”>节点的path属性指定访问该action的URL路径。在struts2中,情况就不是这样了,访问struts2中action的URL路径由两部份组成:包的命名空间+action的名称,例如访问本例子HelloWorldAction的URL路径为:/test/helloworld(注意:完整路径为:http://localhost:端口/内容路径/test/helloworld)。另外我们也可以加上.action后缀访问此Action。
<package name="itcast" namespace="/test" extends="struts-default">
<action name="helloworld" class="cn.itcast.action.HelloWorldAction" method="execute" >
<result name="success">/WEB-INF/page/hello.jsp</result>
</action>
</package>
- struts2教程:2、第一个struts2应用开发
- 第一个Struts2应用开发
- struts2框架开发的第一个应用
- 第一个Struts2应用
- struts2第一个应用
- 第一个Struts2应用
- Struts2学习笔记01------第一个struts2的应用开发
- struts2学习笔记-第一个struts2应用开发
- Struts2教程1:第一个Struts2程序
- Struts2教程1:第一个Struts2程序
- Struts2教程1:第一个Struts2程序
- Struts2教程1:第一个Struts2程序
- Struts2教程1:第一个Struts2程序
- Struts2教程1:第一个Struts2程序
- Struts2教程1:第一个Struts2程序
- Struts2教程1:第一个Struts2程序
- Struts2教程1:第一个Struts2程序
- Struts2教程1:第一个Struts2程序
- 经典美剧
- IDC称:五年后IT市场将是云计算的天下
- 10个让人惊讶的网页设计创意
- GNU C 扩展之__attribute__ 机制简介
- [Win32]一个调试器的实现(十一)显示函数调用栈
- struts2教程:2、第一个struts2应用开发
- STL 随记
- 手动发送HTTP请求调用Web Service
- container_of
- dijkstra算法
- 集体编程智慧(1)
- platform_device和platform_driver
- live555学习2
- 软件破解简单上手 OllyDbg调试器应用