码迷,mamicode.com
首页 > 编程语言 > 详细

java学习笔记—JSP3 and javaBean(35)

时间:2015-04-17 13:20:16      阅读:146      评论:0      收藏:0      [点我收藏+]

标签:

JSP配置

JSP的本质是Servlet,那么Servlet是可以进行web.xml配置,那么理论上JSP也可以进行基本的配置。

修改web.xml

 <context-param>
    <param-name>title</param-name>
    <param-value>czbk</param-value>
  </context-param>
  <servlet>
    <servlet-name>myjsp</servlet-name>
    <jsp-file>/init.jsp</jsp-file>
    <init-param>
      <param-name>ip</param-name>
      <param-value>192.168.10.1</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
   <servlet-name>myjsp</servlet-name>
   <url-pattern>/haha.html</url-pattern>
  </servlet-mapping>	

编写代码获取配置信息

<body>
    <%-- JSP的访问路径 --%>
    this is my jsp! <br/>
    <%-- 获取配置参数 --%>
    <%= config.getInitParameter("ip") %><br/>
    <%= application.getInitParameter("title") %><br/>
    <%-- 重写JSP的初始化方法 --%>
    <%! 
      public void jspInit(){
         System.out.println("jsp init.....");      
      }
    %>
</body>

JSP排错

1.翻译阶段
<body> <%-- </body>
org.apache.jasper.JasperException: /error.jsp(7,8) Unterminated <%-- tag
2.编译阶段 <body> <%= "itcast %> </body>
org.apache.jasper.JasperException: Unable to compile class for JSP:
3.运行阶段 <body> <%= 1/0 %> </body>
org.apache.jasper.JasperException: An exception occurred processing JSP page /error.jsp at line 7

  处理错误的方式只有一种就是看错误信息。

如果在进行jsp配置的时候强行的将jsp映射为其他的路径,那么需要使用使用一对多映射将原来的路径也进行映射,否则原来的路径中是无法进行配置参数获取的。

  <servlet-mapping>
    <servlet-name> myjsp</servlet-name>
    <url-pattern>/init.jsp</url-pattern>
    <url-pattern>/haha.html</url-pattern>
  </servlet-mapping>

 

二 JavaBean

目前为止JavaBean主要帮助我们进行基本的数据类型的封装。可以方便后期的数据传输。

特征:

  1. 私有话几乎所有的属性
  2. 提供所有的get和set方法
  3. 无参数的构造函数
  4. 提供有参数的构造函数

JavaBean的属性值得并不是你在JavaBean中定义的属性,是get和set方法后面的去掉首字母大小的字母转换为小写后的值。

JavaBean技术

JSP主要的任务是显示用户的数据。那么也需要承担封装用户数据的职责。那么在JSP页面中我们必须要使用相应的技术实现数据的封装。即JSP中的JavaBean技术。

1  创建JavaBean对象

<jsp:useBean 				? 指定是动作名,使用javabean
id="" 				? 指定的是引用变量名,也可以是属性名
beanName="" 			? 指定对象的别名
class="" 				? 指定要创建的javabean类(全限定名)
scope="page" 		? 指定域
type="">				? 指定类的类型
</jsp:useBean>

举例1:在JSP中创建一个javabean的对象。

<body>

    <%-- 创建一个javabean对象存储在指定的page域中 --%>

    <jsp:useBean id="myuser" class="cn.itcast.beans.User" scope="page"></jsp:useBean>

    <%= ((User)pageContext.findAttribute("myuser")).getName() %>

</body>

以上的代码被翻译为:

cn.itcast.beans.User myuser = null;

      synchronized (_jspx_page_context) {

        myuser = (cn.itcast.beans.User) _jspx_page_context.getAttribute("myuser", PageContext.PAGE_SCOPE);

        if (myuser == null){

          myuser = new cn.itcast.beans.User();

          _jspx_page_context.setAttribute("myuser", myuser, PageContext.PAGE_SCOPE);

        }

      }

首先检测指定的域中是否包含指定的属性名的对象,如果有直接获取出来,如果没有直接创建出来。

1  设置属性值

<jsp:setProperty 			? 指定是一个设置属性的动作
name="" 				? 指定要设置哪一个对象
property="" 			? 指定要设置哪一个属性
param="" 				? 指定以什么请求参数作为以上属性的值
value=""/>			? 指定具体的值
如果需要将请求参数作为属性的值那么可以使用param,如果需要将所有的请求参数进行封装指定对象的相应属性上去,那么property的值可以直接是*。

2  获取属性值

<jsp:getProperty       

name=""                   指定要获取的对象

property=""/>             指定要获取的属性

3 举例实现数据的封装和获取

<%-- 创建一个javabean对象存储在指定的page域中 --%>

<jsp:useBean id="myuser" class="cn.itcast.beans.User" scope="page"></jsp:useBean>

<%-- 设置javabean属性 --%>

<jsp:setProperty name="myuser" property="*"/> à 使用请求参数封装数据

<%-- 获取javabean属性 --%>

<jsp:getProperty name="myuser" property="name"/><br/>

<jsp:getProperty name="myuser" property="age"/><br/>

<jsp:getProperty name="myuser" property="likes"/><br/>

java学习笔记—JSP3 and javaBean(35)

标签:

原文地址:http://www.cnblogs.com/zhenghongxin/p/4434375.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!