小编wjr*_*wjr的帖子

使用a4j:param将JavaScript值传递给Bean

我的目标是将屏幕宽度,高度等放入JSF中的会话bean中.根据我发现的例子中,要做到这一点的方法是添加一个参数去一个命令与JavaScript的是一个值.然后将该值传输到assignTo bean变量.应该使用noEscape属性,以便传递值而不是变量名.

这几乎可行.发生的事情是文字变量名称,例如"screen.height"在bean中而不是数字,例如600.我尝试更改它以便它调用脚本函数,但这没有帮助.(注意,我将params放在commandButton中,因为示例显示了这种方式,这个按钮是一个方便的地方,无论如何它都需要它).

我有以下代码

<h:commandButton value="Log In"  action="#{loginBean.login}" styleClass="buttons">
   <a4j:param name="w" value="getWidth()" assignTo="#{browser.screenWidth}" noEscape="true" />
   <a4j:param name="h" value="screen.height" assignTo="#{browser.screenHeight}" noEscape="true" />
   <a4j:param name="a" value="navigator.userAgent" assignTo="#{browser.userAgent}" noEscape="true" />
</h:commandButton>
Run Code Online (Sandbox Code Playgroud)

哪里

<script>
  function getWidth() {
    return screen.width;
  }
</script>
Run Code Online (Sandbox Code Playgroud)

同样,具体问题是我将变量名称放入bean中,而不是变量值.任何帮助将非常感激.

jsf richfaces ajax4jsf

5
推荐指数
1
解决办法
7780
查看次数

使用对话框框架弹出的primefaces对话框

我正在尝试使用primefaces对话框架来简化我的代码.我已按照primefaces 4.0用户指南中的示例进行操作,但它无效.

我几乎逐字复制了这个例子,创建了三个文件:一个带有对话框的文件,一个调用对话框的文件和一个支持bean文件.

对话框文件名为"dialog.xhtml",位于"/ Test"文件夹中,包含:

<html xmlns="http://www.w3.org/1999/xhtml" 
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:p="http://primefaces.org/ui">
    <h:head>
        <title>Cars</title>
    </h:head>
    <h:body>
        Test dialog
    </h:body>
</html>
Run Code Online (Sandbox Code Playgroud)

基本文件名为"testDialog.xhtml",位于"/ Test"文件夹中,包含:

<html xmlns="http://www.w3.org/1999/xhtml"      
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:p="http://primefaces.org/ui">

    <h:head>
        <title>Test Dialog</title>
        <meta name="viewport" content="width=device-width"/>
    </h:head>
    <h:body>
        <h:form>
        <p:commandButton value="View Cars" actionListener="#{hostBean.view}" />
        </h:form>
    </h:body>
</html>
Run Code Online (Sandbox Code Playgroud)

最后,支持bean包含:

@ManagedBean
@SessionScoped
public class HostBean implements Serializable {

    public void view() {
        RequestContext.getCurrentInstance().openDialog("/Test/dialog");
    }
}
Run Code Online (Sandbox Code Playgroud)

当我调试它时,视图被调用但对话框没有打开.(我已将三行添加到faces-context.)

有任何想法吗?

primefaces dialog-framework

3
推荐指数
1
解决办法
9604
查看次数

标签 统计

ajax4jsf ×1

dialog-framework ×1

jsf ×1

primefaces ×1

richfaces ×1