开发札记之:
   struts2重认识之彻底页面分离:
     struts.xml文件;
       <struts>
           <package name="empire" extends="struts-default">
               <action name="become" class="empire.flw.BecomeAction">
                   <result name="success" type="dispatcher">/page/success.jsp</result>
               </action>
           </package>
       </struts>

     BecomeAction.java
       public calss BecomeAction extends ActionSupport{
           private String name;
           setter/getter();
           public String execute(){
               if("flw".equals(name)){
                   return "success";
               }
               return "validate";
           }
       }

     validate.jsp
       <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
       <%@ taglib prefix="s" uri="/struts-tags" %>
       <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
       <html>
       <head>
       <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
       <title>输入验证</title>
       </head>
       <body>
           <center>
           <s:form action="become" method="post">
               <s:label value="验证系统"></s:label><!--文字标签-->
               <s:textfield name="name" label="测试人物"/><!--文本框-->
               <s:submit value="验证"></s:submit><!--提交按钮-->
           </s:form>
           ----------------------------------------------------------<br>
           对于action前端和后台交互应注意:<br>
           <a href="${basePath}/empire/become!execute.action" target="_blank" >
           empire为所配置action的package;<br>
           become为对应的action<br>
           execute为其对应action所要处理的功能的方法<p>
           </a>

           </center>
       </body>
       </html>

     success.jap
       <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
       <%@ taglib prefix="s" uri="/struts-tags" %>
       <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
       <html>
       <head>
       <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
       <title>验证成功页面</title>
       </head>
       <body>
           <center>
           欢迎<s:property value="name"/><!--显示action里面的name属性-->
           国王陛下
           </center>
       </body>
       </html>

       流程:1,validate.jsp通过form表单的action提交给become.action;
             2,struts.xml action name="become" 通过其class="empire.flw.BecomeAction"找寻到该action对应的java文件
             3,BecomeAction.java 执行方法, 通过return回传给服务器端响应之jsp,即success.jsp;若验证不通过,返回validate.jsp

       对于实际开发中的前端诸如按钮超链接之类的,一般用诸如超链接或者event方式解决:
       比如超链接:假使在请求页面中,<a href="${basePath}/empire/become!execute.action?(如果需要传参,还需附带参数)" target="_blank"></a>
                   其中empire对应struts.xml中的package;become为action;execute为通过action class查找到的java类的执行方法
                   如果只为显示当前页面某信息的详细信息可以也可以通过静态跳转<a href="${basePath}/page/success.jsp></a>

                   说白了,action之与静态页面超链接的最重要区别就在于
                   前者要执行所处在java源文件里的方法,然后通过dispatcher等方式分发给相应jsp页面,可以注意一下dispatcher的路径和静态超链接路径理所当然的一致