2013-10-04 25 views
5

Poniższe fragmenty kodu działają, gdy wartości użyte do utworzenia myBean nie są puste.sprawdzanie, czy komponent bean ma wartość null przy użyciu javascript lub innych metod

Jak dbać o scenariusz, gdy myBean ma wartość null? Czy istnieje sposób sprawdzenia wartości fasoli?

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

teraz jeśli myName i/lub myProp jest null,

Błądjavax.servlet.jsp.JspException: Define tag cannot set a null value błąd.

próba rozwiązanie:

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

co nie działa? Masz na myśli, że otrzymujesz wartość js var myBean jako łańcuch "null" i chcesz tego uniknąć? – Ash

+0

edytowany, przepraszam, jeśli nie było jasne – bouncingHippo

+0

Cześć [link] [1] będzie bw helpful.This to tylko przypuszczenie [1]: http://stackoverflow.com/a/14648106/ 1069633 –

Odpowiedz

3

@bouncingHippo Użyj tego logicznego znacznika dla tego celu sprawdzania wartości zerowej. Podobnie jak

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

Daj mi znać, jeśli to pomaga ..

1

EDITED zgodnie dodatkowych informacji dostarczonych:

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

Ignoruj: czy może coś takiego: $ {pusty MyBean} lub $ {nie pustym MyBean} ??

+0

to znaczy, jeśli twoje myName jest dostępne dla EL. – Ash

+0

Próbowałem twojej metody (wkleiłem mój kod dla twojego rozwiązania) powyżej. i nadal powoduje ten sam błąd .. – bouncingHippo

+0

to myName lub myProp null ?? czy fasola ma odpowiednie gettery/setery? – Ash