2013-10-04 51 views
5

當用於創建myBean的值不爲null時,下面的代碼片段工作。使用javascript或其他方法檢查bean是否爲空

myBean爲空值時,我該如何照顧情景?有沒有辦法檢查bean的值?

<bean:define id="myBean" name="<%=myName%>" property="<%=myProp%>"/> 

現在如果myName和/或myProp爲null,

錯誤javax.servlet.jsp.JspException: Define tag cannot set a null value錯誤。

嘗試的解決方案:

<c:if test="${not empty myBean}"> 
      <bean:define id="myBean" name="<%=myName%>" property="<%=myProp%>"/> 
      </c:if> 
+0

什麼不起作用?你的意思是你得到一個js var myBean值爲'null'字符串,你想避免這種情況? – Ash

+0

編輯,對不起,如果我不清楚 – bouncingHippo

+0

高[此鏈接] [1]將BW helpful.This只是一個猜測 [1]:http://stackoverflow.com/a/14648106/ 1069633 –

回答

3

@bouncingHippo使用struts邏輯標籤進行空檢查。像,

<logic:present name="<%=myName%>" property="<%=myProp%>"> 
    <bean:define id="myBean" name="<%=myName%>" property="<%=myProp%>"/> 
</logic:present> 

讓我知道,如果這有助於..

1

市價修改提供了更多的信息:

<c:if test="${not empty myName}"> 
... your bean def 
</c:if> 

忽略:也許是這樣的:$ {空爲myBean}或$ {不爲空爲myBean} ??

+0

這就是如果你的myName可用於EL。 – Ash

+0

我試過你的方法(我粘貼了你的解決方案代碼)。它仍然會拋出相同的錯誤。 – bouncingHippo

+0

是myName或myProp null?這個bean是否有適當的getter/setter? – Ash

相關問題