2015-02-05 93 views
0

我有一個用於許多jsp文件的java腳本函數。一般來說,它用於驗證日期。 我的問題在於,儘管它在很多網站上都有使用,但其中一些提供了關於如何在發生故障時進行通知的不同信息。一般電話號碼。在onblur事件中將參數從jsp傳遞給javascript函數

日期場本身嵌入在serviceHeader.jsp:

<h:inputText styleClass="inputText" tabindex="5" id="eventAt" 
 
      value="#{serviceRequest.eventAt}" onblur='leaveFocusDate(this,"<%=telnr %>");' style="width: 80px;" required="true" > 
 
\t \t \t <f:convertDateTime pattern="dd.MM.yyyy" /> 
 
\t \t </h:inputText> 
 
\t \t <h:message for="eventAt" style="color:red; font-family: sans-serif;font-size:10pt; font-weight:bold; width: 330px;"/>

的serviceHeader.jsp包括在將提供不同的信息,例如這裏的文件在Canteen.jsp:

<%@include file="serviceHeader.jsp"%>

的Canteen.jsp也使用JavaScript文件:

\t <script src='/PersonalWebFormsFrontend/dataSupport.js' 
 
\t \t type='text/javascript'></script>

這裏的問題是,例如食堂有那麼不同的支持號碼的會議室。

我已經定義的數量爲Canteen.jsp如下:

<%! String telnr = "-999"; %>

的想法是一個信息通報發送給用戶,如果日期是無效的。 電話號碼必須是本通知的一部分。

這裏開始我的問題。我如何將telnr傳遞給dataSupport.js中定義的函數?

+0

什麼問題?你現在通過價值的方式,它不起作用嗎?你有什麼錯誤嗎? – 2015-02-05 14:32:34

+0

我得到的表達,而不是變量: <%=telnr %>而不是-999 另外,eclipse向我顯示的錯誤是,telnr無法解析爲變量 – Kissaki 2015-02-05 14:47:50

回答

0

JSF標記<h:inputText不會處理JSP表達式。您需要首先將表達式值設置爲一個範圍變量,然後可以通過JSF通過自己的表達式語言訪問該變量。

<c:set var="telnr" value="<%= telnr %>" scope="request" /> 
<h:inputText ... onblur='leaveFocusDate(this,"#{requestScope.telnr}");' ... />