JSF javascript布尔渲染
JSF javascript boolean rendered
根据javascript标志切换JSF组件的呈现最简单的方法是什么?我希望根据用户是否启用了HTML5来显示某些内容。地理位置,本机日期选择器等
谢谢,D
这个答案假设你知道如何使用javascript来检查用户是否启用了HTML5。这是我的想法。javascript与JSF服务器托管bean通信的一种方法是让javascript调用隐藏的commandButton
上的click
事件。这就是你要做的。然后,这个命令按钮可以调用后台bean上的函数,比如为在页面上显示某个组件设置一个标志。对于ajax请求,您可以使用带update
属性的PrimeFaces p:commandButton
来进行部分更新。
- 在你的页面上有一个
inputText
和p:commandButton
的隐藏表单 - 确定用户是否使用javascript启用HTML5,然后在
commandButton
上调用单击事件。inputText
在那里,以便您可以将标志传递回服务器。
<h:form style="display:none">
<h:inputText id="flag" value="#{myBean.flag}"/>
<p:commandButton id="button" actionListener="#{myBean.process}" update="..."/>
</h:form>
所以你的jQuery会像这样
if(user is HTML5 enabled){
jQuery("#flag").val("Flag that let you know user has HTML5 enable.")
jQuery("#button").click();
}else{
//Same thing as above but passing a flag that you know user dont have HTML5 enabled
}
在您的托管bean中,您将拥有
@ManagedBean
@RequestScoped
public class MyBean{
private String flag;
private boolean display;
//setter and getter for `flag` and `display`
public void process(){
if(flag.equals("HTML5")){
display = true;
}else{
display = false;
}
}
}
是否可以将组件的显示放在HTMLdiv容器中,然后隐藏/显示该容器
您可以使用a4j:jsFunction组件。在你的bean中设置渲染标志和render
相关文章:
- javascript中的布尔条件
- 我的django模板布尔变量是't在javascript中按预期工作
- 在javascript中否定布尔函数
- 如何从javascript/jquery中的复选框中获取布尔值
- 如何“;默认“;JavaScript中的布尔属性
- 在javascript函数的循环中设置全局布尔变量的最佳语法
- 使用“;布尔“;作为JavaScript中.filter()的参数
- 在Javascript中访问Razor布尔变量时出错
- 对Javascript感到困惑.布尔函数可以充当void函数
- 是 JavaScript 中的布尔对象
- 布尔对象上的逻辑 NOT 在 Javascript 中总是返回 false
- 带有多个布尔键的JavaScript Array.sort()
- 如何让Javascript将通过AJAX请求提取的tinyint(1)数据视为布尔值
- Javascript数组到布尔类型强制没有意义
- 为什么这个对象方法不返回布尔值Javascript
- 在时间上使用布尔逻辑(javascript)
- 布尔变量 JavaScript
- 为什么布尔()在Javascript中这么慢?
- 解析复杂的字符串表达式布尔在Javascript
- 布尔逻辑——Javascript表达式:大于x和大于y的两倍