我今天学习了struts框架的知识,做了简单的笔记:
一、 Action标签中属性 :
l Attribute的值,如不设置,默认值为action标签中name属性的值。
l Scope的默认值是session
二、Struts标签库:只能在strut环境中使用
dispatcheAction的使用规则
* 定义的类要继承 public class EmpAction extends DispatchAction
* 该类中的方法定义规则
* 方法名称自定义(要和jsp页面中的参数的值一致)
* 方法的参数个数,参数类型,参数顺序和方法的返回类型要与action中的execute()方法一致
* 在jsp页面中的使用
路径如下
method=save 参数名称 method自定义 参数名称要和<action>的 parameter属性的值相同
参数值 save要和EmpAction中的方法名称相同
action="${pageContext.request.contextPath}/empAction.do?method=save"
* 在Struts-config.xml文件中的配置如下
<!--
method=save
parameter="method"
parameter的值是在jsp页面中参数的名称,
struts在解析的时候,根据parameter参数的值获取到method,在获取到method参数的值save
* String methodName=mapping.getParameter(); //method;
* String paramValue=request.getParameter(methodName); //save
* //调用action中的save方法
-->
<action path="/empAction" name="empForm" scope="request"
type="com.itcast.struts.action.EmpAction" parameter="method">
</action>
三、 <html:html>标签
l <html;html lang=”true”>根据浏览器选择语言,
标签:
使用标签的源代码 , struts的解析的过程中,已经到strutc-config.xml文件中找到对应得信息
该标签中action属性的值是必须的 focus="psw" 当页面运行的时候,光标自动停留在那个组件上
<html:form action="empAction_save.do" method="post" focus="psw">
标签转化后的代码
<form name="empForm" method="post" action="/itcast1130strutstaglib/empAction_save.do">
对应的配置文件:
<action path="/empAction_save" name="empForm" scope="request">
</action>
总结: action method name
<html:form>标签 empAction_save.do post 无
<form>标签 /itcast1130strutstaglib/empAction_save.do post empForm(配置文件中name属性的值)
///
使用标签的源代码 :
<html:text property="username" />
标签转化后的代码:
<input type="text" name="username" value="">
在ActionForm给属性赋初值
private String username="tonggang";
<input type="text" name="username" value="tonggang"></td>
property name
<html:text>标签 username
<input>标签 username
///
使用标签的源代码 :
<html:password property="psw" />
标签转化后的代码:
<input type="password" name="psw" value="" redisplay="false">
redisplay="false" 不执行ActionForm 中 getPsw()方法
redisplay="true" 执行ActionForm 中 getPsw()方法
///
使用标签的源代码 :
<html:textarea property="des" cols="10" rows="5"/>
标签转化后的代码:
<textarea name="des" cols="10" rows="5"></textarea>
/
使用标签的源代码 : html:radio 使用该标签时 value的属性必须赋值
<html:radio property="sex" value="男"></html:radio>男
<html:radio property="sex" value="女"></html:radio>女
标签转化后的代码:
<input type="radio" name="sex" value="男">男
<input type="radio" name="sex" value="女">女
//
使用标签的源代码
<html:checkbox property="love" value="美容"></html:checkbox>美容
<html:checkbox property="love" value="篮球"></html:checkbox>篮球
标签转化后的代码:
<input type="checkbox" name="love" value="美容">美容
<input type="checkbox" name="love" value="篮球">篮球
//
使用标签的源代码
<html:select property="edu">
<html:option value="博士">博士</html:option>
<html:option value="硕士">硕士</html:option>
<html:option value="本科">本科</html:option>
<html:option value="小学">小学</html:option>
</html:select>
标签转化后的代码:
<select name="edu">
<option value="博士">博士</option>
<option value="硕士">硕士</option>
<option value="本科">本科</option>
<option value="小学">小学</option>
</select>
//
使用标签的源代码
<td> <html:submit>保存</html:submit> <html:submit value="保存"></html:submit></td>
<td> <html:reset value="重置"></html:reset></td>
标签转化后的代码:
<td> <input type="submit" value="保存"> <input type="submit" value="保存"></td>
<td> <input type="reset" value="重置"></td>
总结:今天学习的只是主要是struts的标签库,学习它很简单,不过它的知识点非常多,需要去记忆的,其中有一次些小细节需要注意,例如: 使用html:radio标签时 value的属性必须赋值,而使用其他的标签则不必将value赋值。Struts的html标签简化了普通html的操作,而且在项目中对于表单数据的回显特别简单。