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}" />
...全文
36 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
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函数,用来设置以及获取属性

}

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧