2016-07-22 5 views
0

から渡された値を割り当てるいないときに私が発生し、次のロジックを必要とする:shippingDateが値を持っている場合JSTLの条件<C:JSP変数

  1. はデシベル
  2. からshippingDateを取得する(ではありません空白の場合)
  3. それ以外の場合は、ページに表示される配送日を今日の日付にに設定します。 この方法で、ユーザーはページを送信するだけで、デフォルト値(今日の日付)がdbに書き込まれます。ユーザーはその値を変更することもできます。

このは、私がこれまで持っているものです。

myJsp.jspコードの上

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 
... 
<% String todaysDate = cm.GetMonth() + "/" + cm.GetDay() + "/" + cm.GetYear();%> 
... 
<c:forEach var="i" items="${bean.results}"> 
    <c:choose> 
     <c:when test="${empty i.shippingDate}"> 
      <c:set var="shippingDate" value="<%=todaysDate%>" scope="request"></c:set> 
     </c:when> 
    </c:choose> 
<TD> 
    <INPUT TYPE="text" NAME="shippingDate" id="shippingDate" value="${i.shippingDate}"/>        
</TD> 

shippingDateから今日のそこデシベルの値があるが、それが設定されていない場合に動作しますDBから何も返されない場合は、日付

誰かが私が間違っているのを見ていますか?

+0

は、どのような結果は 'の'? 'i.shippingDate'を変更せずにローカル変数' shippingDate'を設定したようです。 – tarashypka

+0

@tarashypkaそれは本当です、もし私がvalue = "$ {shippingDate}を設定すると、dbで何か値を持つtodaysDateを得ると、何も得られません:( – Angelina

答えて

1

あなたは別の変数を作成し、それを適切に割り当てることができます。

<c:forEach var="i" items="${bean.results}"> 
    <c:choose> 
    <c:when test="${empty i.shippingDate}"> 
     <c:set var="inputDate" value="<%=todaysDate%>" scope="request"/> 
    </c:when> 
    <c:otherwise> 
     <c:set var="inputDate" value="${i.shippingDate}" scope="request"/> 
    </c:otherwise> 
    </c:choose> 
    <td> 
    <input type="text" NAME="shippingDate" id="shippingDate" value="${inputDate}"/>        
    </td> 
    ... 
+0

これは、ありがとうございました – Angelina