我是 java 服务器面孔的新手。当我单击提交按钮时,值将传递给 bean 方法和 inputText
需要清除字段。但这里空值或传递,因为java脚本代码首先执行。如何发送这些值,然后清除 inputText
领域?
这是我的代码。
index.xhtml
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang="en"
xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html">
<h:head>
<title>Facelets </title>
</h:head>
<h:body >
<h:form id="formdata" >
<b>FirstName </b> <h:inputText id="fname" value="#{hello.fname}"/><br/><br/>
<b>LastName </b> <h:inputText id="lname" value="#{hello.lname}"/> <br/> <br/>
<h:commandButton id="submit" value="Submit" action="#{hello.setStudentName()}" onclick="submitForm()"/>
<h:commandButton id="viewall" value="View All" action="display" />
</h:form>
<script language="JavaScript" type="text/javascript">
function submitForm()
{
var frm = document.getElementsByName('formdata')[0];
frm.reset(); // Reset
}
</script>
</h:body>
Hello.java
import java.util.ArrayList;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
@ManagedBean(name="hello")
@SessionScoped
public class Hello {
String fname="";
String lname="";
ArrayList studentList=new ArrayList();
public void setFname(String f) {
fname=f;
}
public void setLname(String l) {
lname=l;
}
public String getFname() {
return fname;
}
public String getLname() {
return lname;
}
public void setStudentName(){
Student s=new Student(fname,lname);
studentList.add(s);
}
public ArrayList getStudentList() {
return studentList;
}
public void setStudentList(){}
}
index.xhtml
获取输入值并分配给 bean(Hello.java)。
建议我一种可以在单击提交时提交值并清除 inputtext
的方法。字段。
最佳答案
您可以在 jsf bean 中进行清理:
public void setStudentName(){
Student s=new Student(fname,lname);
studentList.add(s);
fname = "";
lname="";
}
关于javascript - 如何清除h :inputtext in jsf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30018192/