第四天:struts2开发步骤:

一、导入相应的jar包:

commons-fileupload-1.2.2.jar
commons-io-2.0.1.jar
commons-lang-2.5.jar
commons-logging-1.1.1.jar
freemarker-2.3.16.jar
javassist-3.11.0.GA.jar
ognl-3.0.1.jar
struts2-core-2.2.3.jar
xwork-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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值