- 浏览: 62677 次
- 性别:
- 来自: 北京
最新评论
-
wucaifang819787:
你好!麻烦问下不知道哪个图片行不行的:http://dl.it ...
struts2源码浅析(四) -
ChenXzh:
高手,佩服得五体投地
关于struts2报There is no Action mapped for namespace / and action name xxx_xxx
8无脚本的JSP
8.1在JSP页面使用动作元素
如果useBean找不到一个叫person的bean就会自己创建这样一个类,来看看生成的servlet中的代码:
但是通过这个方式创建的bean是没有属性值的,我们需要使用另一个动作元素setProperty
但是这样的命令当已经存在一个bean后,会将该属性的值替换,而没有达到创建一个新的属性的目的。
为了达到这一目的,我们需要使用有体的useBean:
若存在这个的bean就不会执行这个代码了
再看看生成的servlet中的代码
8.2多态的bean引用
给useBean添加一个type属性
若使用了type但是没有class,会出现2种情况:
指定的scope和id中已经存在这样的bean,不会报错
否则会报错bean person not found with scope
8.3 param属性
在Testbean页面中不用脚本就可以获取传递来的属性值。
更好的解决方式
确保表单输入的请求参数名与bean中的属性名相同,如果是这样你就不必再<jsp:setProperty>标记中指定param属性了。如果指定了property,但是没有指定value或是param,就是通知容器,要从右匹配名的请求参数中得到值。
若Employee中有2个属性,name和userID,则可以这样写
还能更好的解决方式
确保表单输入的所有的请求参数名与bean中的属性名相同
8.3TLD的对应关系
有函数的类
标记库的描述文件 TLD
jsp页面
注意这三个文件中的对应关系
8.1在JSP页面使用动作元素
<jsp:useBean id="person" class="foo.Person" scope="request" /> <jsp:getProperty name="person" property="name" />
如果useBean找不到一个叫person的bean就会自己创建这样一个类,来看看生成的servlet中的代码:
foo.Person person = null; synchronized (request){ person=(foo.Person)_jspx_page_context.getAttribute("person",PageContext.REQUEST_SCOPE); if(person == null){ person = new foo.Person(); _jspx_page_context.setAttribute("person",PageContext.REQUEST_SCOPE); } }
但是通过这个方式创建的bean是没有属性值的,我们需要使用另一个动作元素setProperty
<jsp:useBean id="person" class="foo.Person" scope="request" /> <jsp:setProperty name="person" property="name" value="Fred" />
但是这样的命令当已经存在一个bean后,会将该属性的值替换,而没有达到创建一个新的属性的目的。
为了达到这一目的,我们需要使用有体的useBean:
<jsp:useBean id="person" class="foo.Person" scope="request"> <jsp:setProperty name="person" property="name" value="Fred" /> </jsp:useBean>这时执行中间设置属性的代码是有条件的执行的,只有当在指定scopr和id中没有这个bean才会在创建这个bean之后,执行setProperty代码
若存在这个的bean就不会执行这个代码了
再看看生成的servlet中的代码
foo.Person person = null; synchronized (request){ person=(foo.Person)_jspx_page_context.getAttribute("person",PageContext.REQUEST_SCOPE); if(person == null){ person = new foo.Person(); _jspx_page_context.setAttribute("person",PageContext.REQUEST_SCOPE); org.apache.jasper.runtime.JspRuntimeLibrary.introspecthelper(_jspx_page_context.finAttribute("person"),"name","Fred",null,null.false); } }
8.2多态的bean引用
给useBean添加一个type属性
<jsp:useBean id="person" type="foo.Person" class="foo.Employee" scope="page" />这样生成的servlet代码是:
foo.Person person = null; if(person == null){ person = new foo.Employee(); ... }Class必须是type的一个子类或是实现
若使用了type但是没有class,会出现2种情况:
指定的scope和id中已经存在这样的bean,不会报错
否则会报错bean person not found with scope
8.3 param属性
<html><body> <form action="TestBean.jsp"> name:<input type="text" name="useName"> ID#:<input type="text" name="userID"> <input type="submit"> </form> </body></html> Testbean.jsp <jsp:useBean id="person" type="foo.Person" class="foo.Emploee"> <jsp:setProperty name="person" property="name" param="userName" /> </jsp:useBean>
在Testbean页面中不用脚本就可以获取传递来的属性值。
更好的解决方式
确保表单输入的请求参数名与bean中的属性名相同,如果是这样你就不必再<jsp:setProperty>标记中指定param属性了。如果指定了property,但是没有指定value或是param,就是通知容器,要从右匹配名的请求参数中得到值。
若Employee中有2个属性,name和userID,则可以这样写
<jsp:useBean id="person" type="foo.Person" class="foo.Emploee"> <jsp:setProperty name="person" property="name" /> 这里什么都没有 </jsp:useBean>
还能更好的解决方式
确保表单输入的所有的请求参数名与bean中的属性名相同
<jsp:useBean id="person" type="foo.Person" class="foo.Emploee"> <jsp:setProperty name="person" property="*" /> 这里一个*号解决所有问题 </jsp:useBean>
8.3TLD的对应关系
有函数的类
package foo; public class DiceRoller{ public static int rollDice(){ return (int)((Math.random()*6)+1); } }
标记库的描述文件 TLD
<?xml...> <taglib xmlns=....> <tlib-version>1.2</tlib-version> <uri>DiceFunction</uri> <function> <name>rollIt</name> <function-class>foo.DiceRoller</function-class> <function-aignature>int rollDice()</function-aignature> </function> </taglib>
jsp页面
<%@ taglib prefix="mm" uri="DiceFunction"%> <html><body> ${mm:rollIt()} </html></body>
注意这三个文件中的对应关系
发表评论
-
JAVA多线程-厕所问题
2012-11-22 11:55 1930在http://my.oschina.net/xpbug/bl ... -
第八章 最大自序列和
2012-11-01 20:29 833第八章的问题是常见的---最大自序列和 的问题 书中提 ... -
第二章 旋转字符串的思考
2012-10-26 16:09 845编程珠玑第二章旋转字符串,abcdefg向左旋转3位,变为de ... -
Mongdb的upsert出现E11000 duplicate key errors的错误分析
2012-10-25 17:36 9154昨日上线的系统,今天查日志时发现有不少E11000 dupli ... -
开源的Mongodb java client -- mango发布
2012-07-20 21:53 1852Mango ---- 一个非常简单的操作mongodb的 ... -
浅出Apache Cxf
2012-03-05 20:14 0由于业务需要,开放了系统的 Web Se ... -
struts2源码浅析(四)
2011-10-19 17:15 1513接上一篇讲了filter后,现在request到了action ... -
struts2源码浅析(三)
2011-10-19 16:50 1569接上篇http://mazhiyuan.iteye.com/b ... -
struts2源码浅析(二)
2011-10-19 16:34 2226接上一篇http://mazhiyuan.iteye.com/ ... -
struts2源码浅析(一)
2011-10-19 16:18 17271. Struts2架构图 请求首先通过Filter ... -
struts2.1权威指南-笔记
2010-12-19 22:36 10951.struts 1.x 和 struts 2.x的 ... -
Hibernate学习总结4---对象状态
2010-12-10 16:14 949session 的几个主要方法: 1,save方法和persi ... -
Hibernate学习总结3 --配置文件
2010-12-10 16:10 938如果不希望使用默认的hibernate.cfg.xml 文件作 ... -
Hibernate 学习总结一
2010-12-10 14:54 863引入: 模型不匹配(阻 ... -
HF servlet&jsp 前6章要点总结
2010-11-21 11:58 881今天有时间把前6章主要讲servlet的内容坐下总结。好了,开 ... -
jquery源码分析之属性篇
2010-11-20 20:09 1914jquery提供了一些快捷函 ... -
HF servelt&jsp 定制标记开发 要点总结
2010-11-13 11:41 13061.标记文件使用一个页 ... -
bean相关标准动作总结+复习
2010-11-07 23:22 7561.<jsp:useBean>动作会定义一个变量, ... -
HF servlet&jsp ---include 指令和动作元素
2010-11-07 23:02 8101.include的2种方式 include多用于网站中可重用 ... -
HF servlet&jsp 总结—使用JSP
2010-11-02 17:37 746初看HF系列的servlet&jsp前6章主讲的ser ...
相关推荐
通过学习该程序可以掌握servlet的执行过程,掌握el表达式的用法
ANSYS HF&SI产品新功能介绍.pdf
head-first-HTML与css、XHTML第一到十四章习题
HF用户脚本我自己创建的脚本列表。 用户脚本允许用户使用Java脚本在本地修改网页。 美国管理员(例如 )允许用户在现代浏览器中安装和管理其用户脚本。剧本以下是此存储库下列出的脚本以及简短说明。():用于HF的...
Vault Guide to PE & HF Interviews
HF9624串口服务器是串口设备联网功能的完整解决方案,这个功能强大的产品支持Wi-Fi或者10/100M以太网自适应,支持完整的TCP/IP协议栈,并且支持多种数据加密方式,确保数据保密性。
语言:dansk hf&vuc fyn菜单 - 围绕hf&vuc fyn播出易于导航。 使其易于绕过HF&Vuc Fyn。
&he0,&he2,&he4,&he6,&he8,&hea,&hec,&hee,&hf0,&hf2,&hf4,&hf6,&hf8,&hfa,&hfc,&hfe, _ &h1b,&h19,&h1f,&h1d,&h13,&h11,&h17,&h15,&h0b,&h09,&h0f,&h0d,&h03,&h01,&h07,&h05, _ &h3b,&h39,&h3f,&h3d,&h33,&h31,&...
HF50-R HF50-RA医用诊断X射线机说明书
HF3FF与HF3FD系列 5脚 单刀双掷继电器封装及其应用说明-HF3FF_D.rar
霍尼韦尔二维码扫描枪HF500使用手册,中文版霍尼韦尔二维码扫描枪HF500使用手册
hf_hf_数据库创建及Demo.rar
佳能LEGRIA HF20HF200摄像机的使用说明书,是比较详细的。
还需要改inc文件夹下的数据库连接路径,以及chang.jsp和hf.jsp的数据库连接路径。里面的视频我删除了,因为上传大小有限制。自己加。 用户:浏览带图片或者视频的新闻,新闻查询,新闻评论,新闻搜索,给管理员留言...
汉枫设备升级固件,包含HF2211,版本为1.40.5;更新时间:2020-04-26 15:22:12
百度为您找到相关结果约758个HF线切割编控一体化系统|线切割编程|线切割编程教程--琛扬数控在编程中,HF系统均采用双精度计算;HF系统所生成的加工代码均采用绝对式的G代码,其数值精确保留到小数点第四位;HF系统在加工...
PMSM_HF_无位置控制_无位置_高频注入_无传感_无位置传感器.zip
H3C iMOS ECR3308&3316HF;产品介绍
hf线切割v8.0下载
IBM x3650 M3 HF安装使用 中文文档