Posted on 2007-06-01 17:30
筱筱 阅读(396)
评论(0) 编辑 收藏 所属分类:
Struts学习日记
基于Struts框架的JSP文件有以下特点:
1.没有任何Java程序代码。
2.使用了许多Struts的客户化标签,例如:<html:form>和<logic:present>标签。
3.没有直接提供文本内容,取而代之的是<bean:message>标签,输出到网页上的文本内容都是由<bean:message>标签来生成的。例如:
<bean:message key="hello.jsp.prompt.person"/>
Struts客户化标签是联系视图组件和Struts框架中其他组件的纽带。这些标签可以访问或显示来自于控制器和模型组件的数据。
JSP文件开头几行用于声明和加载Struts标签库:
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean"%>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html"%>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic"%>
以上代码表明该JSP文件使用了Struts Bean、Html和Logic标签库,这是加载客户化标签库的标准JSP语法。
·<html:errors>:用于显示Struts框架中其他组件产生的错误消息。
·<html:form>:用于创建HTML表单,它能够把HTML表单的字段和ActionForm Bean的属性关联起来。
·<html:text>:该标签是<html:form>的子标签,用于创建HTML表单的文本框。它和ActionForm
Bean的属性相关联。
·<bean:message>:用于输出本地化的文本内容,它的key属性指定消息key,与消息key匹配的文本内容来自于专门的Resource Bundle。
·<bean:write>:用于输出JavaBean的属性值。例如,<bean:write name="personbean" property="userName"/>,它用于输出personbean对象的userName属性值。
·<logic:present>:用来判断JavaBean在特定的范围内是否存在,只有当JavaBean存在时,才会执行标签主体中的内容,例如:
<logic"present name="personbean" scope="request">
<h2>
Hello <bean:write name="personbean" property="userName"/>!<p>
</h2>
</logic:present>
<logic:present>标签用来判断在request范围内是否存在personBean对象,如果存在,就输出personBean的userName属性值。与<logic:present>标签相对的是<logic:notPresent>标签,它表示只有当JavaBean在特定的范围内部存在时,才会执行标签能主体中的内容。