jsf-2 - 如何在 primefaces 中创建具有百分比高度的对话框

标签 jsf-2 primefaces

我想在 primefaces 中创建一个 p:dialog 组件,其大小以百分比给出:

<p:dialog header="Dialog" widgetVar="dlg" width="70%" height="70%">
  Some content
</p:dialog>

上面的代码创建了一个具有正确宽度值的组件。但是,对话框的高度设置为某个非常小的值(绝对不是 70%)。

我的问题是:如何为对话框设置百分比高度?

我做了一些研究,在 primefaces 代码中发现 height 值明确为 set to 'auto'高度属性是 assigned to content div .这解释了为什么我的代码不起作用,但我可以做些什么来克服这个问题?

最佳答案

我找到了一种使用 javascript 来完成它的方法。应该修改组件定义:

<p:dialog id="dialog" header="Dialog" widgetVar="dlg" width="70%" height="100%">
  Some content
</p:dialog>

这样内容就会完全填满对话框。现在应该调用以下 javascipt 代码:

var htmlTag = document.getElementById('dialog');
htmlTag.style.height = Math.floor(window.innerHeight*0.7)+"px";

这会将对话框高度调整为窗口高度的 70%。

关于jsf-2 - 如何在 primefaces 中创建具有百分比高度的对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31269637/

相关文章:

ajax - 即使 ManagedBean 已经实例化(例如在 AJAX 调用上),也会调用 @PostConstruct 方法

xml - 引用的文件包含错误 (jar :file:/. ../plugins/org.jboss.tools.jst.web_3.5.0.Final-v20130717-0309-B75.jar!/catalog/web-facesconfig_2_2.xsd)

xhtml - 编辑 portlet(xhtml 部分)而不进行部署

jsf - Primefaces 使用 POJO 和 String 值自动完成

spring - 具有 Spring 安全性的 JSF - 登录后重定向到指定页面

java - 在托管 Bean JSF 2.2 中将属性值设置为 String

jsf - jsf、primefaces 应用程序的内容安全策略 header

maven - 无法从jsf页面获取值

jakarta-ee - Primefaces 组件在 websphere 8.5 中不起作用

java - JSF 多个组合框问题