7(8)JSP中的JavaBean和动作元素

一、JavaBean

1、什么是JavaBean?,JavaBean,又叫Java豆,就是一种按约定格式编写的
Person{
String name,int age,boolean vip
setName,getName,setVip         = setter
setAge,getAge,getVip(isVip)    = getter
}
就是一种约定格式
set,get,is
boolean型的,get可以替换为is
2、
一个JavaBean的案例
属性

userName,vip,password,realName,telephone,address,zip,email

3、一个带索引的JavaBean

二、动作元素

1、<jsp:useBean> 是一个jsp的动作元素,它的作用是创建一个对象
<jsp:useBean id="u" class="javastudy.UserInfo">
</jsp:useBean>
类似于: UserInof u=new UserInfo();
 //u.userName=getParameter("userName")
a.案例
做一个用户注册页面,提交到一个新页面,
使用动作元素<jsp:UseBean> 和<jsp:setProperty>去接收页面提交的数据。
并通过<jsp:getPropery>来显示数据
Tomcat中对于post方法提交的表单采用的默认编码为ISO-8859-1(<form method="post">
对于POST请求,Tomcat会仍然使用request.setCharacterEncoding方法所设置的编码来处理,如果未设置,则使用默认的ISO-8859-1编码。(request.setCharacterEncoding("UTF-8");
b.案例

修改程序,将数据提交到本页面显示

2、<jsp:setProperty>的语法
a.
<jsp:setProperty name="对象名" property="*"/>
  用提交上来的同名参数填充对象的同名属性。(相当于批处理)
b.<jsp:setProperty name="对象名"  property="?" param="?"/>
  用提交上来的由param指定的参数的值填充property指定的属性的值(一条一条的传递)
c.<jsp:setProperty name="对象名"  property="?"/>
  用提交上来的由property指定的参数填充由property指定的属性的值(是第一种方法的单个传递用法,仍需保持同名
d.<jsp:setProperty name="对象名"  property="?" value="?"/>

 用value指定的值来替换property指定的属性的值(有啥用呢??

3、<jsp:getProperty>用法

if(request.getParameter("userName")==null)
4、<jsp:include>
作用:将另外一个网页包含到本网页中来。
  指令(Page,taglib, include)
a.执行时间上:(可以检查生成的类文件发现)
    <%@ include file=""%> 是在翻译阶段执行
    jsp在运行前,会被翻译成一个Java类(servlet),在翻译的时候,会把include指令所申明的文件内容包含进来。
    和这个jsp的内容形成一个整体。运行时,就不会再运行被包含的文件。叫做静态包含(整个文件的内容都被复制过来了)。
     <jsp:include page="" flush="true" /> 在请求(运行)处理阶段执行,把运行结果包含进来。主文件中只是说明了要把那个文件的运行结果包含进来,只指定了文件名。
   C:\workspace\.metadata
b.引入内容的不同:
    <%@ include file=""%>
    在JSP页面被转化成servlet之前和它融合到一起.
    <jsp:include page="" flush="true" />引入执行页面或servlet所生成的应答文本.
5.<jsp:param>  传递参数

main.jsp:将footer.jsp页面包含进来,同时又将firm作为参数传给了footer.jsp;

所以显示乱码时应该用request.setCharacterEncoding("utf-8");而不是request.getChaeacterEncoding("utf-8")
<body>
<%request.setCharacterEncoding("utf-8"); %>
<h1 align="center">这是主页面</h1>
<jsp:include page="footer.jsp">
<jsp:param value="北京甲骨文科技有限公司" name="firm"/>
</jsp:include>
</body>
footer.jsp:
<body>
<hr><br>
<p>版权所有<%=request.getParameter("firm") %>2000-2014</p>
</body>

6.<jsp:forward>

 跳转页面

表单中action为空或者不写,表示表单提交给本页面。

<form action="" method="post"></form>

遇到的一个问题:加注释的话不能写在forward里面,那样会报错,而应该这样:

<!--只能用相对地址(和本网页在一块的地址)-->
<jsp:forward page="hello.jsp">
<jsp:param value="<%=request.getParameter(\"uname\") %>" name="a"/>
</jsp:forward>







  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值