[英]Why my jsf <h:inputText> dont set the value in bean class?
我有一個關於JSF的<h:inputText>
的問題,我試圖在Bean類中設置變量的值,但是它不能通過<h:inputText> tag
設置值。 我是JSF的新手。
我的jsp代碼:
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<link rel="stylesheet" href="../style.css" />
<title>Tìm hồ sơ</title>
</head>
<body>
<div id="content">
<jsp:include page="header.jsp" />
<h1>Nhập hồ sơ thí sinh - Kì tuyển sinh 2015</h1>
<f:view>
<h:form>
<font color="black"> Tìm hồ sơ: <br /></font>
<table>
<tr>
<td>SBD:</td>
<td><h:inputText id="sbd" value="#{hsinfo.fsbd}"
required="true"></h:inputText></td>
<td><h:message for="sbd" /></td>
</tr>
<tr>
<td>Họ tên:</td>
<td><h:inputText id="ten" value="#{hsinfo.fname}"></h:inputText></td>
</tr>
<tr>
<td>Giới tính: <h:selectOneRadio id="gioitinh"
value="#{hsinfo.fgioitinh}">
<f:selectItem itemValue="M" itemLabel="Nam" />
<f:selectItem itemValue="F" itemLabel="Nữ" />
</h:selectOneRadio>
</td>
</tr>
<div style="position: absolute;margin-top: 24px;margin-left: 654px;">
<h:commandButton
style="width:84px; height:84px;margin-top:-24px;"
action="#{hsinfo.findHS}" value="Tìm kiếm" immediate="true" />
</div>
</table>
</h:form>
</f:view>
</div>
</body>
</html>
我的豆類:
package Beans;
public class hsinfo {
private String fsbd;
private String fname;
private String fgioitinh;
public String getFsbd() {
return fsbd;
}
public void setFsbd(String fsbd) {
this.fsbd = fsbd;
}
public String getFname() {
return fname;
}
public void setFname(String fname) {
this.fname = fname;
}
public String getFgioitinh() {
return fgioitinh;
}
public void setFgioitinh(String fgioitinh) {
this.fgioitinh = fgioitinh;
}
}
我制作了另一個通過<h:inputText>
標記成功設置值的jsp和bean類,但是我不知道為什么在這個jsp和bean類中它不起作用!
您的問題是由<h:commandButton>
上的<h:commandButton>
immediate="true"
引起的。
<h:commandButton ... action="#{bean.action}" immediate="true" />
它將跳過對所有沒有immediate="true"
輸入字段的處理。
擺脫它。
<h:commandButton ... action="#{bean.action}" />
與具體問題無關 ,請確保您使用的是最新資源來學習JSF。 自2009年以來我們就已經在JSF 2.x上使用,您的代碼是JSF 1.x樣式。從這里開始: https : //stackoverflow.com/tags/jsf/info 。
你需要 :
@Named
或@ManagedBean
批注
范圍
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.