【问题标题】:Simple JSF layoutunit简单的 JSF 布局单元
【发布时间】:2013-06-18 04:28:34
【问题描述】:

我是 JSF 的新手,我正在使用 primefaces,

我必须布局单元中心和北方,在北方布局中我有输入文本和命令按钮,我只想在输入框中输入一个 url,当我点击命令按钮时,url 显示在中心布局单元中。

代码如下

<h:body>
    <p:layout fullPage="true">

        <p:layoutUnit position="north">
            <p:inputText id="inputUrl" />
            <p:commandButton value="Submit" />
        </p:layoutUnit>

        <p:layoutUnit position="center" id="centerLayout">
        </p:layoutUnit>

    </p:layout>
</h:body>

【问题讨论】:

  • 为什么这个问题被标记为[jsf-1.2]?我只看到 JSF 2.x 兼容的 PrimeFaces 代码,而不是 JSF 1.2 代码。为什么这个问题被标记为[ajax4jsf]?我只看到 PrimeFaces 代码,没有看到 Ajax4jsf 代码。

标签: jsf jsf-2


【解决方案1】:

您可以简单地为 commandlink 设置值并更新它,如下所示。

有效。

<h:form id="form">

<p:layout fullPage="true" id="main">


<p:layoutUnit position="north">
    <p:inputText id="inputUrl" value="#{formBeanBB.url}" />
    <p:commandButton value="Submit"  actionListener="#{formBeanBB.displayLink}" update="links,inputUrl"/>
</p:layoutUnit>

<p:layoutUnit position="center" id="centerLayout">
<h:panelGrid id="links">

<p:commandLink value="#{formBeanBB.link}" />
</h:panelGrid>
</p:layoutUnit>

BackingBean

@ManagedBean
@ViewScoped
public class FormBeanBB implements Serializable{

private String url;
private String link;


 public void displayLink(){


          setLink(url);

          setUrl("");
      }

    public String getUrl() {
            return url;
        }

        public void setUrl(String url) {
            this.url = url;
        }

        public String getLink() {
            return link;
        }

        public void setLink(String link) {
            this.link = link;
        }  


}

【讨论】:

  • 这可以通过ajax实现吗
  • 是的,为什么不呢?您可以简单地将ajax 调用应用于 inputtext,但这没有任何意义,因为每当您尝试在 inputtext 中输入任何内容时,它都会使用 ajax 方法,然后对于所有 ajax,您将更新此命令链接。这不是好办法……
猜你喜欢
  • 1970-01-01
  • 2011-06-12
  • 2017-08-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-09-13
相关资源
最近更新 更多