问一个关于的问题

OnlyLau 2008-09-28 08:25:00
问一下:
1.
<jsp:usebean id="cart" scope="session" class="session.carts" />
<jsp:setproperty name="cart" property="*" />

2.
<jsp:usebean id="cart" scope="session" class="session.carts" >
<jsp:setproperty name="cart" property="*" />
</jsp:userbean>

这两个有什么区别?今天帮同学改个JSP,刚好就是越到这个问题,当用第一个语句的时候,能够传进值,但用第二用种却就不行。。。不仅仅是因为<jsp:setproperty>中的property为*,对于其它的也不行如:
<jsp:usebean id="cart" scope="session" class="session.carts" >
<jsp:setproperty name="cart" property="name" value="sdd" />
<jsp:setproperty name="cart" property="value" value="11" />
</jsp:userbean>


还有就是这个Bean有构造函数应该没什么影响吧,我从网上查了下,有人说bean不应该有构造函数。。还有大虾指教
...全文
92 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
GoodBoy025 2008-09-28
  • 打赏
  • 举报
回复
1.
<jsp:usebean id="cart" scope="session" class="session.carts" />
<jsp:setproperty name="cart" property="*" />

此类写法表示设置属性的动作总是执行

2.
<jsp:usebean id="cart" scope="session" class="session.carts" >
<jsp:setproperty name="cart" property="*" />
</jsp:userbean>

此类写法表示设置属性的动作在变量JavaBean对象不存在时执行


index.jsp
<%@ page language="java" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Test the UserBean Tag</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
</head>

<body>
<form action="another.jsp">
<jsp:useBean id="plainBean" class="com.PlainBean" scope="session"/>
<jsp:setProperty name="plainBean" property="name" value="John1"/>
<font color="blue"><jsp:getProperty name="plainBean" property="name"/></font>


<jsp:useBean id="anotherBean" class="com.AnotherBean" scope="session">
<jsp:setProperty name="anotherBean" property="name" value="John2"/>
<font color="blue"><jsp:getProperty name="anotherBean" property="name"/></font>
</jsp:useBean>
<input type="submit" >
</form>
</body>
</html>


another.jsp:
<%@ page language="java" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Test the UserBean Tag</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
</head>

<body>
<jsp:useBean id="plainBean" class="com.PlainBean" scope="session"/>
<jsp:setProperty name="plainBean" property="name" value="Tom"/>
<font color="blue"><jsp:getProperty name="plainBean" property="name"/></font>


<jsp:useBean id="anotherBean" class="com.AnotherBean" scope="session">
<jsp:setProperty name="anotherBean" property="name" value="Tom"/>
<font color="blue"><jsp:getProperty name="anotherBean" property="name"/></font>
</jsp:useBean>
</body>
</html>
slicelee 2008-09-28
  • 打赏
  • 举报
回复
2.
<jsp:usebean id="cart" scope="session" class="session.carts" >
<jsp:setproperty name="cart" property="*" />
</jsp:userbean>

LZ确认这种可以么?
一直用的第一种。
毕竟要USEbean完成后才能能向里面的属性设值。
而第二种写法算什么?setproperty的时候userbean标签并没执行完,又如何设值呢?userbean标签没见过中间可以包含内容的。
我是没见过,当然我见识不多,说错了勿怪。
QJKT7777777 2008-09-28
  • 打赏
  • 举报
回复
不是吧? 有差么? 关注下下~

一直用第一种
黙墨 2008-09-28
  • 打赏
  • 举报
回复
同样的困扰,帮忙顶一下!期待大虾解答...

81,092

社区成员

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

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