【问题标题】:how to clear h:inputtext in jsf [duplicate]如何清除 jsf 中的 h:inputtext [重复]
【发布时间】:2015-05-03 19:09:42
【问题描述】:

我是 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 字段的方法。

【问题讨论】:

    标签: javascript jsf


    【解决方案1】:

    你可以在 jsf bean 中清理:

     public void setStudentName(){
       Student s=new Student(fname,lname);
       studentList.add(s);
       fname = "";
       lname="";
    }
    

    【讨论】:

    • 成功了。谢谢你:)
    猜你喜欢
    • 2013-05-29
    • 2011-04-11
    • 2015-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-24
    • 2011-04-17
    • 2013-01-07
    相关资源
    最近更新 更多