STRUTS2开发环境搭建
1、导入struts2的JAR包
struts2-core-2.0.11.1.jarxwork-2.0.4.jarcommons-logging-1.0.4.jarfreemarker-2.3.8.jarognl-2.6.11.jar
2、配置web.xml
<filter><filter-name>struts2</filter-name><filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class></filter><filter-mapping><filter-name>struts2</filter-name><url-pattern>/*</url-pattern></filter-mapping>
3、编写Action,
需要继承com.opensymphony.xwork2.ActionSupport或者继承com.deppon.foss.framework.server.web.action.AbstractAction
4、配置Action
在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="struts2" namespace="/mystruts"extends="struts-default"><action name="sum" class="action.FirstAction">
<result name="positive">/positive.jsp</result><result name="negative">/negative.jsp</result>
</action>
5、全局result</package></struts>在<struts>标签中可以有多个<package>,第一个<package>可以指定一个Servlet访问路径(不包括动作名),如“/mystruts”。extends属性继承一个默认的配置文件“struts-default”,一般都继承于它,大家可以先不去管它。<action>标签中的name属性表示动作名,class表示动作类名。<result>标签的name实际上就是execute方法返回的字符串,如果返回的是“positive”,就跳转到positive.jsp页面,如果是“negative”,就跳转到negative.jsp页面。在<struts>中可以有多个<package>,在<package>中可以有多个<action>。我们可以用如下的URL来访问这个动作:http://localhost:8080/struts2/mystruts/sum.action
有很多时候一个<result>初很多<action>使用,这时可以使用<global-results>标签来定义全
局的<result>
<struts>
<package name="demo" extends="struts-default">
<global-results>
<result name="print">/result.jsp</result>
</global-results>
<action name="submit" class="action.MoreSubmitAction">
</action>
<action name="my" class="action.MoreSubmitAction" method="my">
</action>
</package>
</struts>
如果<action>中没有相应的<result>,Struts2就会使用全局的<result>
附:
negative.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<html>
<head>
<title>显示代数和</title>
</head>
<body>
代数和为负整数
<h1>
<s:property value="sum" />
</h1>
</body>
</html>
postitive.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<html>
<head>
<title>显示代数和</title>
</head>
<body>
代数和为非负整数
<h1>
<s:property value="sum" />
</h1>
</body>
</html>
sum.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<html>
<head>
<title>显示代数和</title>
</head>
<body>
求代数和
<br>
<s:form action="mystruts/sum.action">
<s:textfield name="operate1" label="操作数1"></s:textfield>
<s:textfield name="operate2" label="操作数2"></s:textfield>
<s:submit value="代数和"></s:submit>
</s:form>
</body>
</html>