Java Web - Struts2基本执行流程


一 前台测试页面

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    <title></title>
    
    <style>
    h3{font-size: 18px;color: black;}
    h2{font-size: 20px;color: black;}
    </style>
    <script type="text/javascript">	
    </script>

    <script type="text/javascript">
    var allPage=${requestScope.commPage.allPages};
    var Id=${requestScope.commPage.lists[0].tablename.scId};
    
    </script>
    
  </head>
  <body>
       <input type="hidden" value="${requestScope.numC}" id="mesg">
       
       <c:set var="abooutL" value="${requestScope.aboutL}"></c:set>
       <c:set var="num" value="0"></c:set>
       
       <div class="header_full w_100">
        <div class="fenban">您的屏幕分辨率过小,可能导致某些内容无法正常显示!<a href="javascript:void(0)"><font class="header_close">关 闭</font></a></div>
        
    </div>
    <!-- header | end -->
					<p>
                                        AAAAAAAAAAAAAAAAAAAAAAAAA
					</p>
    
					<p>
    					<a href="<%=basePath%>findProductJsp.action?erTitleId=20">DDDDDDDDDDDDDDDDDDDDDD</a>
           				</p>
		        
			               <p>
                                        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
					</p>

			               <p>
			                
			                                     ${requestScope.mesg2}
                                       </p>

				       <p>
								${requestScope.commPage}
					</p>
					<p>
								${requestScope.erTitleId}
					</p>
			               
		             
			               <p>
                                        YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
					</p>
		             
         
  </body>
</html>


二 Struts2配置文件

......

<action name="findProductJsp" class="action.qianCommAction" method="findProductJsp">
	      <result>/page/xxxxxx/Product/zmOpsys.jsp</result>
	      <result name="input">/page/xxxxxx/Product/zmOpsys.jsp</result>
	   </action>


......


三 Action类代码

qianCommAction.java

......

public String findProductJsp() throws Exception{
		try{			
		String hql="from tablename s where s.xxxx.erId="+erTitleId+" order by s.createTime desc";
		commPage=coservice.findCommPageByhql(hql, null, currPage, 6);
		List<Spgsctitle> tList=coservice.searchAll(tablename.class);
		List aboutL=coservice.findByProperty("tablename", "tablename.fiTitleId", 4);
		request.put("numC", numC);
		request.put("aboutL", aboutL);
		request.put("tList", tList);
		request.put("commPage", commPage);
		request.put("mesg2", "findProductJsp() Success!");
		return SUCCESS;
		
	} catch (Exception e) {
		request.put("mesg", "系统出现异常,请稍后再试!");
		
		e.printStackTrace();
		return INPUT;
	}
	}


......


四 执行效果



五 语言描述一下Struts2的基本执行流程

    页面第一次载入时,或者刷新页面,以下URL:

http://IP:端口/项目名称/findProductJsp.action?erTitleId=20

被发送到服务器端;

    服务器端首先查找web.xml,发现配置了Struts2;然后Struts2模块接收此请求,查找Struts2的配置文件,发现应该由 qianCommAction 这个Action来处理请求,并且执行的是qianCommAction中的findProductJsp方法;于是流程转入findProductJsp方法;

    在findProductJsp方法中,因为测试,不管是否从数据库中取到数据,都对客户端返回一个字符串:

    request.put("mesg2", "findProductJsp() Success!");

    在前台页面显示mesg2,如果显示出"findProductJsp() Success!",表明Struts2的流程是通的,findProductJsp() 方法被Struts2自动调用执行;以后只要在findProductJsp() 方法中从数据库取到数据,并用request.put(XXX,XXX)返回前台,即可在前台页面中显示从数据库中取到的数据。







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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值