第四天:struts2开发步骤:

来源:互联网 发布:知彩女装旗舰店 编辑:程序博客网 时间:2024/06/11 19:45

一、导入相应的jar包:

commons-fileupload-1.2.2.jarcommons-io-2.0.1.jarcommons-lang-2.5.jarcommons-logging-1.1.1.jarfreemarker-2.3.16.jarjavassist-3.11.0.GA.jarognl-3.0.1.jarstruts2-core-2.2.3.jarxwork-core-2.2.3.jar

二、在web.xml配置核心控制器:

  <filter>       <filter-name>struts2</filter-name>       <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>  </filter>  <filter-mapping>       <filter-name>struts2</filter-name>       <url-pattern>/*</url-pattern>  </filter-mapping>

三、编写业务逻辑和业务控制器

public class Action implements com.opensymphony.xwork2.Action {      private double num1;      private double num2;      private double result;      //getter setter     public String execute() throws Exception {           CalBiz calBiz=new CalBiz();           result=calBiz.add(num1, num2);          return "success";     }}

四、在src下编写struts.xml文件

配置文件有提示:<!DOCTYPE struts PUBLIC"-//Apache Software Foundation//DTD Struts Configuration 2.1.7//EN""http://struts.apache.org/dtds/struts-2.1.7.dtd">配置文件带有提示步骤:window-->preferences-->xml(文本框里面输入)-->xml catalog-->add<package name="struts_1" extends="struts-default">         <action name="add" class="com.sut.action.AddAction">                <result name="success">/success.jsp</result>         </action>         <action name="plus" class="com.sut.action.PlusAction">                <result name="success">/success.jsp</result>         </action>         <action name="mul" class="com.sut.action.MulAction">                <result name="success">/success.jsp</result>         </action>         <action name="div" class="com.sut.action.DivAction">                <result name="success">/success.jsp</result>         </action></package>

五、编写jsp文件

index.jsp

<html>  <head>      <script type="text/javascript">           function execute(id){                var num1=document.getElementById("num1").value;                var num2=document.getElementById("num2").value;                if(num1=='' || num2==''){                    alert("文本框一、二不能为空");                    return false;                }               if(id=='+'){                   document.my.action='add.action';               }else if(id=='-'){                   document.my.action='plus.action';               }else if(id=='*'){                   document.my.action='mul.action';               }else{                   document.my.action='div.action';               }                   document.my.submit();         }</script>  </head>  <body>       <h3>简单计算器</h3>       <form action="" method="post" name="my">             数字一:<input type="text" name="num1" id="num1"/><br/>             数字二:<input type="text" name="num2" id="num2"/><br/>             <input type="button" onclick="execute(this.value)" value="+"/>             <input type="button" onclick="execute(this.value)" value="-"/>             <input type="button" onclick="execute(this.value)" value="*"/>             <input type="button" onclick="execute(this.value)" value="/"/>       </form>  </body></html>

六、相关知识:

命名空间(namespace):区分不同模块 

<package name="struts_1" namespace="part1" extends="struts-default">          <action name="add" class="com.sut.action.AddAction">                  <result name="success">/success.jsp</result>          </action></package><package name="struts_2" namespace="part1/part2" extends="struts-default">          <action name="add" class="com.sut.action.AddAction">                 <result name="success">/success.jsp</result>          </action></package><package name="struts_3" namespace="part1/part2/part3" extends="struts-default">          <action name="add" class="com.sut.action.AddAction">                <result name="success">/success.jsp</result>          </action></package>
    地址栏访问:http://localhost:8080/Struts2_Demo3/part1/add.action        访问struts_1中的action                        http://localhost:8080/Struts2_Demo3/part1/part2/add.action 访问struts_2中的action                      http://localhost:8080/Struts2_Demo3/part1/part3/add.action 访问struts_3中的action

七、Struts2 请求后缀:

<struts>     <constant name="struts.action.extension" value="do,action,php"/> //在struts.xml  配置文件中可以更改 (value的值一般只能写三个)</struts>

八、Action标签中的属性method  指定调用的方法

<action name="add" class="com.sut.action.CalAction" method="add"> //指定调用CalAction中的add() 方法      <result name="success">/success.jsp</result></action>


0 0
原创粉丝点击