LittleRain

小雨不打伞 打伞雨不小

对实战Struts中一个经典例子的详细学习

关于Logon例子的学习

Welcome页面:

<%@ taglib uri="/tags/struts-bean" prefix="bean" %>
<%@ taglib uri="/tags/struts-html" prefix="html" %>
<%@ taglib uri="/tags/struts-logic" prefix="logic" %>
(在struts1.2中要写成  <%@ taglib uri="
http://struts.apache.org/tags-html " prefix="html" %>  其他两个相似
作用:使得输入的扩展标签库可以被页面的其他部分使用)

<HTML>
<HEAD>
<TITLE>Welcome!</TITLE>
<html:base/>
(使得对于图像等资源的引用与原始jsp页面位置相关)

</HEAD>
<BODY> <logic:presentname="user">                                                                                                                        
<H3>Welcome<bean:write name="user" property="username"/>!</H3>                                                      
</logic:present>                                                                                                                                           
(检查用户是否在session中存储了userbean.如果存储了该bean,则在欢迎页面中显示username)         
 
          
<logic:notPresentscope="session" name="user">
<H3>Welcome World!</H3>
</logic:notPresent>
(如果不存在userbean则显示"Welcome World!")
注:在Struts中的逻辑标签都是使用"this"和"notThis"这样的表单,但可以通过扩展标签库来实现if/then/else等语法

<html:errors/>
(用来显示错误信息:)

<UL>
<LI><html:linkforward="logon">Sign in</html:link></LI>
<logic:presentname="user">
<LI><html:linkforward="logoff">Sign out</html:link></LI>
</logic:present>
</UL>
<IMG src='struts-power.gif' alt='Powered by Struts'>
</BODY>
</HTML>

上述的jsp页面在浏览器中的代码:

<HTML>
<HEAD>
<TITLE>Welcome!</TITLE>
<base href="
http://localhost:8080/logon/pages/Welcome.jsp ">
</HEAD>
<BODY>
<H3>Welcome World!</H3>
<UL>
<LI><a href="/logon/logon.do">Sign in</a></LI>
</UL>
<IMG src='struts-power.gif' alt='Powered by Struts'>
</BODY>
</HTML>

--------------------------------------------------------------------------------------------------------------------------

<%@ taglib uri="/tags/struts-html" prefix="html" %>
(参看Welcome.jsp部分)

<HTML>
<HEAD>
<TITLE>Sign in, Please!</TITLE>
</HEAD>
<BODY>
<html:errors/>
<html:formaction="/LogonSubmit" focus="username">
(<html:form> 标签会生成一个HTML表单来使用户输入数据。其action属性指向Struts配置中的某个ActionMapping对象,该对象决定了使用哪个javabean来填充HTML控件,同时该javabean也是Srtuts框架结构的一个ActionForm类)
<TABLE border="0" width="100%">
<TR>
<TH align="right">Username:</TH>
<TD align="left"><html:textproperty="username"/></TD>
(<html:text>标签创建一个HTML文本域来输入框,同时,它还使用该表格对应的JavaBean中属性名为username的属性值来进行自我填充。)
</TR>
<TR>
<TH align="right">Password:</TH>
<TD align="left"><html:passwordproperty="password"/></TD>

</TR>
<TR>
<TD align="right"><html:submit/></TD>
<TD align="left"><html:reset/></TD>
</TR>
</TABLE>
</html:form>
</BODY>
</HTML>
---------------------------------------------------------------------------------------------------------

Struts中的  struts-config.xml的配置
ActionMapping的配置元素
 path -       该ActionMapping的唯一标识符,它包括对应的Web地址 (不包括扩展名.do)
 type -       当请求该路径时,调用的Action对象
 name -     HTML表单对应的JavaBean(ActionForm)
 scope -     定义了存储该JavaBean在请求中(request)还是在会话中(session)
 validate - 定义了在调用Action对象前是否调用JavaBean上的validate方法
 input -      定义了当validate方法返回false时要转移到的地址
(Struts中的很多命名都是很含糊的;比如ActionMapping中的name属性并不是指该ActionMapping对象的名字,而是指该ActionMapping使用的JavaBean的名字;

posted on 2006-10-02 11:23 小雨不打伞 阅读(442) 评论(0)  编辑  收藏 所属分类: web学习心得


只有注册用户登录后才能发表评论。


网站导航:
 

公告

点击这里给我发消息 QQ:232720563


  MSN:new_haihua@hotmail.com

导航

统计

常用链接

留言簿(2)

随笔分类(51)

最新随笔

积分与排名

最新评论

阅读排行榜