天天看点

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>

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