Struts2 第一个实例学习

第一次接触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>/*</url-pattern>
</filter-mapping> 
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list> 
</web-app>
注意filter的配置细节,主要是拦截器来捕获struts2的响应请求。

 

3、这里的例子是一个简单的功能实现(输入两个整数,结果大于等于59则跳转到positive.jsp,否则跳转到negative.jsp)

先定义Action响应类FirstCase

package pactise;
//导入struts2所要继承的类
import com.opensymphony.xwork2.ActionSupport;
//此处定义的类必须继承ActionSupport
public class FirstCase extends ActionSupport{

 private int parm1;
 
 private int parm2;
 
 private int Sum3;
 
 
 //处理的具体方法
 public String sum()
 {
   Sum3 =parm1+parm2;
  
   if (Sum3>=59)
   {
    return "positive";
   }
   else
   {
    return "negative";
   }
  
 }
 
 
 public int getresult()
 {
  return parm1+parm2;
 }

 /**
  * @return the parm1
  */
 public int getParm1() {
  return parm1;
 }

 /**
  * @param parm1 the parm1 to set
  */
 public void setParm1(int parm1) {
  this.parm1 = parm1;
 }

 /**
  * @return the parm2
  */
 public int getParm2() {
  return parm2;
 }

 /**
  * @param parm2 the parm2 to set
  */
 public void setParm2(int parm2) {
  this.parm2 = parm2;
 }

 /**
  * @return the sum3
  */
 public int getSum3() {
  return Sum3;
 }

 /**
  * @param sum3 the sum3 to set
  */
 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的处理过程,输入没有加验证要求,因此此处学习属于入门学习的教程。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值