java - 在 JSF - 尝试实现类似于 "#{bean.run(3)}"的东西

标签 java ajax jsf richfaces

我想将按钮从支持 bean 动态添加到 JSF 页面(也支持 Rich Faces)。

按钮的值需要在运行时确定,并在按下按钮时返回到支持 bean。 (因此标题 - 我实际上试图能够做类似“#{beans.run(3)}”的事情,即 - 设置单击按钮时要使用的固定参数)

例如,如果用户创建一个按钮(在运行时)并为该按钮指定一个值。该值应返回到要分析的支持 bean。

我的问题 - 如何在运行时为按钮(该按钮是带有 a4j:support 子级的 JSF 组件)分配一个值? (我尝试使用 a4j:actionParam,但无法解决)

P.S - 我已经彻底修改了这个问题,使其比原来太长的问题更短、更切题

最佳答案

有多种选择:

  • 使用 JSF 2.0
  • 使用 JBoss EL 扩展
  • 使用<f:setPropertyActionListener value="3" target="#{bean.propety> ,其中propety稍后由 run() 读取方法。

    <h:commandButton action="#{bean.run}">
        <f:setPropertyActionListener target="#{bean.property}" 
            value="#{pageVariable}" />
    </h:commandButton>
    <!-- pageVariable contains the number you are passing -->
    
    public class Bean {
       private int property; // with setters and getters
       public void run() {
          // do something with property
       }
    }
    
  • 使用 Facelets 函数( here's an example 对于此类函数)(并非在所有情况下都适用)

关于java - 在 JSF - 尝试实现类似于 "#{bean.run(3)}"的东西,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2221605/

相关文章:

javascript - jQuery 在过滤 AJAX 响应时返回未定义

jsf - 在 PrimeFaces 高级主题上将 Cookie 设置为 HttpOnly

java - 使用 EJB 3.0 删除数据库行

java - 在 spring 上下文加载期间更新属性文件

java - Java列表可以作为字符串输出吗?

javascript - jQuery:在 $.ajax 成功函数中使用 $(this)

java - jsf2 flash 的生命周期比它应该的要长吗?

Java 多线程不清楚

java - 如何针对字符串中的 XML 运行 XQuery?

java - 如何从ajax get()方法调用的spring Controller 以json格式返回列表对象