请教:如何在JSF的两个页面之间传递数据?

bugpark 2005-08-30 02:03:01
具体问题如下:
在一个页面A中点击button,通过后台managed bean处理后跳转至另一页面B。
在A中存在一个变量id,需要在B中使用,请问如何将变量id的值传递过去?
...全文
438 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
humanity 2005-09-01
  • 打赏
  • 举报
回复
更正:
requestScope.get("reqAttribute"); // 这里,如果 reqAttribute 配置为 managed-bean ,则不会出现空指针,否则#{可能出现}空指针。

上面的操作其实就是 等价: request.setAttribute("reqAttribute",new Date());

只是配置为 managed-bean 后,可能保证那个 名字对应的 bean 不会出现空指针, 为 null 时会自动 Class.forName("xxx").newInstance() 出来。

基于 JSF 'all are post' , 页面提供服务前必须有一个对应的 View 对象 , 所有的 bean 都不能为 null , 否则 第一次 get 请求会出错 ,因为那个时候你的代码还没有开始工作 。


JSF 中 隐含绑定名:
param,
requestScope,
sessionScope,
applicationScope


还可以通过 facesContext.getExternalContext().getXXX() 获得很多配置相关,和request 相关。
humanity 2005-09-01
  • 打赏
  • 举报
回复
A:

Map requestScope = facesContext.getApplication().createValueBinding("#{requestScope}").getValue(facesContext);

requestScope.put("reqAttribute",new Date());

B:
requestScope.get("reqAttribute"); // 这里,如果配置为 managed-bean ,则不会出现空指针,否则为空指针。

wqqwolf 2005-08-31
  • 打赏
  • 举报
回复
楼上的,你这个方法显然是不行!
在managed bean中的forward中带参数ID进行转向
xxxx.jsp?id=x

或者A,B页面引用相同的form
slin2005 2005-08-31
  • 打赏
  • 举报
回复
parent.XXXX.XXXX 这样能够调用其他页面的方法和属性。其中parent.XXXX就是调用页面和被调用页面间的关系。
zyqiiy 2005-08-30
  • 打赏
  • 举报
回复
如果是两个页面的话。A中加个空form,action =""
<input type = "button" onclick="toB()">

<script language="javascript">
function toB()
{
document.form.action="b.jsp?id="+id; (自己的数值)
}
</script>
zyqiiy 2005-08-30
  • 打赏
  • 举报
回复
我不知道什么是JSF?

67,515

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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