Ajax 如何向JSF表单添加多个结果
您好,我现在有一个网页,在提交时使用ajax显示用户在输入框下方的同一页面上输入的消息,我想知道的是,是否可以保留所有输入消息的记录,例如消息1、消息2等,所有消息都显示在它们下面 最好的方法是什么?还有没有一种方法可以避免用户每次都必须按下提交按钮 这是我目前的代码:Ajax 如何向JSF表单添加多个结果,ajax,jsf,Ajax,Jsf,您好,我现在有一个网页,在提交时使用ajax显示用户在输入框下方的同一页面上输入的消息,我想知道的是,是否可以保留所有输入消息的记录,例如消息1、消息2等,所有消息都显示在它们下面 最好的方法是什么?还有没有一种方法可以避免用户每次都必须按下提交按钮 这是我目前的代码: <h:body> <h3>JSF 2.0 + Ajax Hello World Example</h3> <h:form> <h:inputT
<h:body>
<h3>JSF 2.0 + Ajax Hello World Example</h3>
<h:form>
<h:inputText id="name" value="#{helloBean.name}"></h:inputText>
<h:commandButton value="Welcome Me">
<f:ajax execute="name" render="output" />
</h:commandButton>
<h2><h:outputText id="output" value="#{helloBean.sayWelcome}" /></h2>
</h:form>
</h:body>
首先,您需要更改bean。将属性设置为
列表
,以存储所有消息
之后,要显示列表,您需要将输出
更改为允许显示列表
所有元素的组件;v、 g.数据表
此外,您还需要在ajax请求中调用一个操作方法,因为您的应用程序需要执行一些逻辑(将name
添加到列表中)
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import java.io.Serializable;
@ManagedBean
@SessionScoped
public class HelloBean implements Serializable {
private static final long serialVersionUID = 1L;
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSayWelcome(){
//check if null?
if("".equals(name) || name ==null){
return "";
}else{
return "Ajax message : Welcome " + name;
}
}
}