文档章节

jsf如何通过按钮切换在同一个页面上的非公共部分显示不同的内容

街角旳祝福
 街角旳祝福
发布于 2013/05/23 16:56
字数 298
阅读 1108
收藏 4
在jsf中,同一个页面上有公有的内容,也有非公有的内容,通过一个按钮进行切换来显示不同的内容(通过ajax实现):
   前台页面:(这句话放到单选按钮里面,这样后台就能知道切换后往后台传的值)
          <p:ajax immediate="true" listener="#{userBean.userTypeChange}" update=":theShowPage" />
   注释:
          immediate="true"表示跳过验证立即执行;

        update=":theShowPage"表示切换完按钮后更新的页面。

  后台页面:
          public void userTypeChange(AjaxBehaviorEvent event) {
          Object item = ((SelectOneMenu) event.getSource()).getSubmittedValue();
           int role= Integer.parseInt((String.valueOf(item)));
         if (newValue == "管理员") {
          user.setUserType(1);
         }
           }

   前台页面如果要显示不同的值,可以在同一个页面上用rendered属性,这种验证能通过int型或boolean类型进行显示,String类型的不行例如:
         rendered="#{userBean.user.userType==1}"

详细的一种写法: bean页面: private String province; private String city; public String getProvince() { return province; } public void setProvince(String province) { this.province = province; } public String getCity() { return city; } public void setCity(String city) { this.city = city; } List selectItemList = new ArrayList(); public List getSelectItemList() { return selectItemList; } public void changeProvince(AjaxBehaviorEvent event) { String selectedValue =String.valueOf(((HtmlSelectOneMenu)event.getSource()).getSubmittedValue()) ; if (selectedValue.equals("hbs")) { selectItemList.add(new SelectItem("2", "Label2")); } else { selectItemList.add(new SelectItem("1", "Label1")); } }

© 著作权归作者所有

共有 人打赏支持
街角旳祝福
粉丝 3
博文 11
码字总数 5119
作品 0
海淀
程序员
私信 提问
加载中

评论(2)

街角旳祝福
街角旳祝福
你好,首先userBean与前台下拉框已经绑定,我此时后台对它设值主要是为了和前台部分页面显示不同内容相关联的,因为我下拉框每切换一下,显示的页面就会变化,item 对象中获得前台下拉框中的值,此时你必须把该值给userType,因为我ajax绑定后台的方法中只能通过item获得下拉框中的值。
其次 rendered="#{userBean.user.userType==1}",是没有问题的。此时我的1为int类型的。
温鹏
温鹏
看了你两篇关于JSF的博客,修改了一点,如下所示,有错误之处请指出!
xhtml页面:

<p:selectOneMenu id="type" value="#{userBean.user.userType}" style="width:300px">
<f:selectItems value="#{userBean.userTypes}" />
<p:ajax immediate="true" listener="#{userBean.userTypeChange}" update=":theShowPage" />
</p:selectOneMenu>


既然userBean与前台下拉框已经绑定,那么在后台就无须判断提交的值是啥了
public class UserBean{
  private User user;

  private static Map<String, Integer> userTypes = new LinkedHashMap<String, Integer>();
static {
userTypes.put(“管理员”,admin);
userTypes.put(“维护员”,maint);
userTypes.put(“档案员”,recordor);
}

  //p:ajax 如果没有指定partialSubmit="" 及 process="",默认就已经提交了selectOneMenu所在form的所有值
  public void userTypeChange() {
   //Object item = ((SelectOneMenu) event.getSource()).getSubmittedValue();
   //String role = (String.valueOf(item));
   if (user.getUserType() == admin) {
     //user.setUserType(1);
     //处理其他逻辑
   }
  }
}
还有,在xhtml中用 rendered="#{userBean.user.userType eq 1}"
vue-router 基本使用

 路由,其实就是指向的意思,当我点击页面上的home按钮时,页面中就要显示home的内容,如果点击页面上的about 按钮,页面中就要显示about 的内容。Home按钮 => home 内容, about按钮 => a...

为了美好的明天
05/01
0
0
1.5 Hello, world! 解剖 -JSF实战 -hxzon -jsf学习笔记

1.5 Hello, world! 解剖 -JSF实战 -hxzon -jsf学习笔记 既然已经对JSF能够解决什么问题有了初步理解,我们来开始开发一个简单的应用。本节假定你已熟悉Java Web应用和JSP(关于这些技术的信息...

hxzon
2009/03/05
969
0
JSF 2 简介: 复合组件最佳实践

JSF 是一个基于组件的框架,这意味着它可以提供您所需要的基础架构来实现您自己的组件。JSF 2 提供一种简单的方法来实现自定义的复合组件。 在前面的文章中,我已经向您展示了几个复合组件的...

IBMdW
2011/05/18
1K
0
Windows Phone 7 - 控件的不同类型

原文地址:http://create.msdn.com/en-US/education/quickstarts/Types_of_Controls 【译 者注:这篇文章是翻译自微软官方的WP7 QuickStart的第四篇,讲述WP下控件的不同的类型。部分内容加入...

虫虫
2012/02/21
440
0
这些ABBYY FineReader中的小技巧你了解不?

  使用ABBYY FineReader 12 OCR文字识别软件工作即快速又简单,软件自身常常可以自行处理一切工作,用户只需点击几下软件中的‘主要’按钮。不过,有时要想获得更好的质量结果,或 者解决某...

ABBYY
2016/04/27
525
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周日乱弹 —— 钱不还,我就当你人不在了

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @莱布妮子 :分享Bigleaf的单曲《小鹿》 《小鹿》- Bigleaf 手机党少年们想听歌,请使劲儿戳(这里) 周日在家做什么? 做手工呀, @poorfis...

小小编辑
6分钟前
2
1
EOS docker开发环境

使用eos docker镜像是部署本地EOS开发环境的最轻松愉快的方法。使用官方提供的eos docker镜像,你可以快速建立一个eos开发环境,可以迅速启动开发节点和钱包服务器、创建账户、编写智能合约....

汇智网教程
今天
15
0
《唐史原来超有趣》的读后感优秀范文3700字

《唐史原来超有趣》的读后感优秀范文3700字: 作者:花若离。我今天分享的内容《唐史原来超有趣》这本书的读后感,我将这本书看了一遍之后就束之高阁了,不过里面的内容一直在在脑海中回放,...

原创小博客
今天
19
0
IC-CAD Methodology知识图谱

CAD (Computer Aided Design),计算机辅助设计,指利用计算机及其图形设备帮助设计人员进行设计工作,这个定义同样可以用来近似描述IC公司CAD工程师这个岗位的工作。 早期IC公司的CAD岗位最初...

李艳青1987
今天
22
0
CompletableFuture get方法一直阻塞或抛出TimeoutException

问题描述 最近刚刚上线的服务突然抛出大量的TimeoutException,查询后发现是使用了CompletableFuture,并且在执行future.get(5, TimeUnit.SECONDS);时抛出了TimeoutException异常,导致接口响...

xiaolyuh
今天
11
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部