2014-12-23 77 views
0

我有一個名爲User.java的bean。不能讓bean顯示在jsp上

在DAO中(從數據庫中),它會拉取一個名爲classRegistrationDate的字段,並將其設置爲User.classRegistrationDate。

我創建了一個名爲isRegistrationLocked的布爾值,並且如果registrationDate在2014年12月20日之前,我將其設置爲true,否則將其設置爲false。

豆:

public Boolean isRegistrationLocked= false; 

public boolean getIsRegistrationLocked() { 
    return isRegistrationLocked; 
} 

public void setRegistrationLocked(boolean isRegistrationLocked) { 
    this.isRegistrationLocked= isRegistrationLocked; 
} 

DAO:

DateFormat df = new SimpleDateFormat("MM/dd/yyyy"); 
Date classRegistrationDate= user.getClassRegistrationDate(); 
Date releaseDate= df.parse("12/20/2014"); 

if(classRegistrationDate.before(releaseDate)) 
{ fi.setRegistrationLocked(true); } 
else 
{ fi.setRegistrationLocked(false); } 

數據得到了驗證,和值被傳遞並正確設置。

在jsp中,我需要根據isRegistrationLocked的值顯示和隱藏一個。

JSP:

<html:hidden property="user.isRegistrationLocked" value="${user.isRegistrationLocked}" /> 

<c:if test="${user.isRegistrationLocked eq false}"> 
    <tr> 
     <td class="text"> FALSE </td> 
    </tr> 
</c:if> 

<c:if test="${user.isRegistrationLocked ne true}"> 
    <tr> 
     <td class="text"> TRUE </td> 
    </tr> 
</c:if> 

但價值給人的印象是假的時候,所以它沒有被正常訪問。 我試過只輸出使用的值,甚至沒有顯示;它在html中顯示爲空白。

我哪裏去錯了,我怎麼能得到的價值被評估?

+0

從數據庫 – Brovoker

+0

真正EQ假的就是假和真不等於真正的返回是幾號也是假的,...提示:要麼把斷點在getter方法或僅將值寫入jsp,以進行驗證。 – slowy

+0

如果你用'public Boolean isRegistrationLocked = true;替換'public Boolean isRegistrationLocked = false;''你會在你的jsp中總是得到一個true嗎?如果你可能沒有訪問你相信的實例。 – StephaneM

回答

0

如果你想得到水漬${}你應該把它請求。不幸的是,我現在不用處理請求。可以建議2種方式:

1)Servlets/JSP。

放對象請求:

request.setAttribute("user", User); 

2)彈簧控制器。 放對象模型,水木清華這樣的:

@RequestMapping(value = "/", method = RequestMethod.POST) 
public String user(HttpServletResponse response, Model model) { 
    *** 
    Configuring "user" object 
    *** 
    model.addAttribute("user", user); 
    return "redirect:/*to your jsp*"; 
}