JSP中如何存取java bean的非String类型?

zhirenshao 2003-03-27 08:51:32
比如我自己写了一个class,绑到session里面,然后怎么把session里面的这个对象用<jsp:setProperty>赋值给java bean的属性?

我用如下方法出错:

<% session.setAttribute("aa", new A());%>

<jsp:setProperty name="bean" property="a" value="${sessionScope.aa}" />
...全文
7 点赞 收藏 3
写回复
3 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
hotenM 2003-03-31
二楼要把人吓死了~
回复
zxhong 2003-03-31
楼上的方法(tablib)很好,但可能不适合初学者
http://expert.csdn.net/Expert/topic/625/625945.xml?temp=.4478113
回复
peacock_king 2003-03-31
使用自定义标签,可以实现,而且很简单,同时让页面显得整洁:)

<?xml version="1.0" encoding="gb2312" ?>
<!—XML的版本及其字符集-->
<!DOCTYPE taglib
PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN"
 "http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd">
<!—文档类型定义-->

<taglib>
<!—此标记说明我们开始描述一个标记库-->
<tlibversion>1.0</tlibversion>
 <!—标记库的版本-->

<jspversion>1.1</jspversion>
 <!—所使用的JSP的版本-->

 <shortname>my_tag</shortname>
 <!—缺省的名称-->

<tag>
   <name>your_tag_name</name>
    <!—标记的名称-->
<tagclass>
your_package.your_class
<!—处理这个Tag的相应的类的名称-->
</tagclass>
   <info>
      <!—对本标记符的描述-->

   </info>
<attribute>
<!—开始定义标记的属性-->

    <name>param0</name>
       <!—属性的名称-->

    <required>true</required>
       <!—表示这个属性是不是必须的-->

    <rtexprvalue>true</rtexprvalue>
<!—表示这个属性是否可以用JSP的程序段的结果输出-->
   </attribute>
<attribute>
    <name>param1</name>
    <required>true</required>
    <rtexprvalue>true</rtexprvalue>
   </attribute>
</tag>
</taglib>


引用标记库时:

<%@ taglib uri="/tlds/taglib.tld" prefix="mytag" %>
<html>
 <head>
<title>Test</title>
 </head>
 <body>
   <mytag:your_tag_name param0="……" param1= "……" >
</mytag:your_tag_name>
<!--这个自定义的标签会运行你想要的动作,比如获取名称为param0的变量的值-->
 </body>
</html>

下面是执行具体动作的类:

package your_package;
import javax.servlet.jsp.tagext.TagSupport;
import javax.servlet.jsp.*;
import java.io.*;
public class your_class extends TagSupport
{
public your_class()
{
super();
}
public int doStartTag() throws JspTagException{

//这里写入你的处理代码
//比如处理
//pageContext.getSession().getAttribute("aaa");

return SKIP_BODY;
}
publicc int doEndTag()throws JsptagException{
return EVAL_PAGE;
}

public void release(){
super.release();
}

//声明这个类的属性
//之后写set函数,与get函数,用来设置以及获取属性

}
回复
相关推荐
发帖
Web 开发
创建于2007-09-28

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2003-03-27 08:51
社区公告
暂无公告