gpt4 book ai didi

css - 在 PrimeFaces 中调整布局单元大小时处理调整大小事件

转载 作者:太空宇宙 更新时间:2023-11-04 14:36:07 25 4
gpt4 key购买 nike

我正在处理我的第一个 Web 元素并为其使用 PrimeFaces 组件套件。

我想在调整中心布局单元大小时触发调整大小事件。我已经尝试了代码,但是永远不会调用 bean 类中的方法。

我在这里做错了什么?如果我错了请纠正我?

    <p:layout fullPage="true" resizeListner="#{resizeBean.handleResize}">
<p:layoutUnit id="top" position="north" resizable="true" size="20%">
<ui:insert name="header">
<ui:include src="Header.xhtml" />
</ui:insert>
</p:layoutUnit>

<p:layoutUnit id="bottom" styleClass="class-bottom" position="south"
resizable="true" size="25%">
<ui:insert name="footer">
<ui:include src="Footer.xhtml" />
</ui:insert>
</p:layoutUnit>

<p:layoutUnit id="left" styleClass="class-left" position="west"
resizable="true" size="24%">
<ui:insert name="tree">
<ui:include src="Tree.xhtml" />
</ui:insert>
</p:layoutUnit>

<p:layoutUnit id="addDlg" position="center">
<ui:insert>
<ui:include src="AddDevice.xhtml" />
</ui:insert>
</p:layoutUnit>

<p:layoutUnit id="center" position="center">
<ui:insert name="centerPage">
<ui:include src="Center.xhtml" />
</ui:insert>
</p:layoutUnit>
</p:layout>

这是bean类的代码

@ManagedBean(name = "resize")    
public class ResizeBean implements Serializable {
private long width;
private long height;
public void handleResize(ResizeEvent event) {
width = event.getWidth();
height = event.getWidth();
System.out.println("in resize");
}
public long getWidth() {
return this.width;
}

public long getHeight() {
return this.height;
}
}

最佳答案

好吧,我不知道您使用的 PrimeFaces 的女巫版本,但是在 PrimeFaces 手册中找不到属性 resizeListener。您还为您的 bean 命名了 name属性:

@ManagedBean(name = "resize")

因此,如果您想在您的 View 中使用它,请像这样引用您的名字:

#{resize.handleResize}

如果不使用name属性可以引用resizeBean。更多信息可以在这里找到:http://docs.oracle.com/javaee/6/api/javax/faces/bean/ManagedBean.html

要获取调整大小事件,请添加 <p:ajax>在您的 View 中标记如下内容:

<p:ajax event="resize" listener="#{resize.handleResize}" />

现在添加 <h:form>标记您的布局,一切都应该有效。

完整 View :

<h:form>
<p:layout fullPage="true">
<p:ajax event="resize" listener="#{resize.handleResize}" />
<p:layoutUnit id="top" position="north" resizable="true" size="20%">
<ui:insert name="header">
<ui:include src="Header.xhtml" />
</ui:insert>
</p:layoutUnit>

<p:layoutUnit id="bottom" styleClass="class-bottom" position="south"
resizable="true" size="25%">
<ui:insert name="footer">
<ui:include src="Footer.xhtml" />
</ui:insert>
</p:layoutUnit>

<p:layoutUnit id="left" styleClass="class-left" position="west"
resizable="true" size="24%">
<ui:insert name="tree">
<ui:include src="Tree.xhtml" />
</ui:insert>
</p:layoutUnit>

<p:layoutUnit id="addDlg" position="center">
<ui:insert>
<ui:include src="AddDevice.xhtml" />
</ui:insert>
</p:layoutUnit>

<p:layoutUnit id="center" position="center">
<ui:insert name="centerPage">
<ui:include src="Center.xhtml" />
</ui:insert>
</p:layoutUnit>
</p:layout>
<h:/form>

关于css - 在 PrimeFaces 中调整布局单元大小时处理调整大小事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18733626/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com