MyException - 我的异常网
当前位置:我的异常网» Java相关 » 想学下struts,看了些文章还是不如何理解,谁能形象

想学下struts,看了些文章还是不如何理解,谁能形象地或举个例子讲下struts(2)

www.MyException.Cn  网友分享于:2013-12-24  浏览:41次


http://localhost:8080/struts2/mystruts/sum.action 

注:Struts1.x的动作一般都以.do结尾,而Struts2是以.action结尾。 

【第5步】 编写用户录入接口(JSP页面) 

1. 主界面(sum.jsp) 

在Web根目录建立一个sum.jsp,代码如下: 

<%@ page language="java" import="java.util.*" pageEncoding="GBK" %> 
<%@ taglib prefix="s" uri="/struts-tags"%> 

<html> 
<head> 
<title>输入操作数</title> 
</head> 

<body> 
求代数和 
<br/> 
<s:form action="mystruts/sum.action" > 
<s:textfield name="operand1" label=" 操作数1"/> 
<s:textfield name="operand2" label=" 操作数2" /> 
<s:submit value="代数和" /> 
</s:form> 
</body> 
</html> 

在sum.jsp中使用了Struts2带的tag。在Struts2中已经将Struts1.x的好几个标签库都统一了,在Struts2中只有一个标签库/struts-tags。这里面包含了所有的Struts2标签。但使用Struts2的标签大家要注意一下。在<s:form>中最好都使用Struts2标签,尽量不要用HTML或普通文本,大家可以将sum.jsp的代码改为如下的形式,看看会出现什么效果: 

... ... 

求代数和 

<br/> 

<s:form action="mystruts/sum.action" > 

操作数1:<s:textfield name="operand1" /><br/> 

操作数2:<s:textfield name="operand1" /><br/> 

<s:submit value="代数和" /> 

</s:form> 

... ... 

提示一下,在<s:form>中Struts2使用<table>定位。 

2. positive.jsp 

<%@ page language="java" import="java.util.*" pageEncoding="GBK"%> 
<%@ taglib prefix="s" uri="/struts-tags" %> 

<html> 
<head> 
<title>显示代数和</title> 
</head> 

<body> 
代数和为非负整数<h1><s:property value="sum" /></h1> 
</body> 
</html> 

3. negative.jsp 

<%@ page language="java" import="java.util.*" pageEncoding="GBK"%> 
<%@ taglib prefix="s" uri="/struts-tags" %> 

<html> 
<head> 
<title>显示代数和</title> 
</head> 

<body> 
代数和为负整数<h1><s:property value="sum" /></h1> 

</body> 
</html> 


这两个jsp页面的实现代码基本一样,只使用了一个<s:property>标签来显示Action类中的sum属性值。<s:property>标签是从request对象中获得了一个对象中得到的sum属性,如我们可以使用如下的代码来代替<s:property value=”sum”/>: 


<% 

com.opensymphony.xwork2.util.OgnlValueStack ovs = 

(com.opensymphony.xwork2.util.OgnlValueStack)request.getAttribute("struts.valueStack"); 

out.println(ovs.findString("sum")); 

%> 

启动Tomcat后,在IE中输入如下的URL来测试这个例子: 

http://localhost:8080/struts2/sum.jsp
------解决方案--------------------
struts最主要的作用是拦截请求然后转发,强制的把系统分成MVC(模型、试图、控制器)三层,struts的关键就是c(控制层),hibernate是做ORM(对象/关系映射的)在M(模型层),spirng是最复杂的,mvc几个层次都可涉及或不涉及。实际上体现的更多的是一种设计思想,关键字就是IOC(依赖注入或称反转控制)了。这个都很复杂,个人只说了最重要的,等高人批吧,纯属个人理解!
------解决方案--------------------
送LZ一句名言java开源的东西遵循的金科玉律就是“无限封装,无限分层”

文章评论

软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有