第一次接触Java的框架学习,在老大的指导下从struts2开始学习。
首先开发环境:JDK1.6+Myeclipse 6.6+tomcat6.0
下载struts2开发的jar包,地址链接:http://struts.apache.org/downloads.html 这里用的版本2.1.6
在下载的包的lib目录下
选择:commons-logging-1.0.4.jar
struts2-core-2.1.6.jar
xwork-2.1.2.jar
freemarker-2.3.13.jar
ognl-2.6.11.jar
把这些jar包放到新建的web工程的WEB-INF的lib下。
1、先建工程(Struts2Demo)
2、配置web.xml文件
<?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">
<!--struts2-->
<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>
public int getParm1() {
return parm1;
}
public void setParm1(int parm1) {
this.parm1 = parm1;
}
public int getParm2() {
return parm2;
}
public void setParm2(int parm2) {
this.parm2 = parm2;
}
public int getSum3() {
return Sum3;
}
public void setSum3(int sum3) {
Sum3 = sum3;
}
}
4.在WEB-INF/classes下写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="pactise" extends="struts-default" namespace="/Struts2Demo">
<action name="sum" class="pactise.FirstCase" method="sum">
<result name="positive" type="dispatcher">/positive.jsp</result>
<result name="negative" type="dispatcher">/negative.jsp</result>
</action>
</package>
</struts>
此处的说明:这里定义了一个action(sum),响应的方法是FirstCase类中的sum()方法,如果该方法返回值是positive则跳转到positive.jsp,返回值是negative则跳转到negative.jsp页面
5、在WebRoot下新建输入页面sum.jsp
<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<!--标记使用struts2的标签-->
<%@taglib prefix="s" uri="/struts-tags" %>
<html>
<head>
<title>第一个struts2例子</title>
</head>
<body>
<!-- 利用表单提交方式来提交给action来处理-->
<s:form action="/Struts2Demo/sum" method="post">
<s:textfield name="parm1" label="操作数1"/><br>
<s:textfield name="parm2" label="操作数2"/><br>
<s:submit value="结果"/>
</s:form>
</body>
</html>
positive.jsp的具体作用是显示大于等于59的结果
<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<%@taglib prefix="s" uri="/struts-tags" %>
<html>
<head>
<title>结果1</title>
</head>
<body>
如果结果大于等于59则显示结果:<h1><s:property value="Sum3"/></h1>
</body>
</html>
negative.jsp是显示小于59的结果
<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<%@ page import="com.opensymphony.xwork2.ognl.OgnlValueStack" %>
<%@taglib prefix="s" uri="/struts-tags"%>
<html>
<head>
<title>结果2</title>
</head>
<body><br>
<%
com.opensymphony.xwork2.ognl.OgnlValueStack ovs =
(com.opensymphony.xwork2.ognl.OgnlValueStack)request.getAttribute("struts.valueStack");
out.println(ovs.findString("Sum3"));
%>
</body>
</html>
主要这里用的方法与positive.jsp的方法不一样,也可以用前面的方法。
启动tomcat后,在浏览器栏中输入:http://localhost:8080/Struts2Demo/sum.jsp即可进行测试,这个例子只是简单说明struts2的处理过程,输入没有加验证要求,因此此处学习属于入门学习的教程。