2013-10-12 6 views
0

меня Jsp loginSuccess.jsp следующим образом:распорки 2 JQuery плагин не работает

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" 
    pageEncoding="ISO-8859-1"%> 
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<%@ taglib prefix="s" uri="/struts-tags"%> 
<%@ taglib prefix="sj" uri="/struts-jquery-tags"%> 
<html> 

<head> 
<s:head /> 
<sj:head /> 
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 
<link rel="stylesheet" type="text/css" href="style.css" media="all" /> 
<title>Login</title> 
</head> 
<body> 
    <div id="MainPage"> 
     <jsp:include page="header.jsp"></jsp:include> 
     <jsp:include page="menubaruser.jsp"></jsp:include> 
     <div id="mainContent" > 
      <div style="width:898px"><br><center>Welcome Mr. <b><s:property value="#session.name"/> </b></center> </div> 
      <div id="ajaxdiv"> 
      <div id="ContentLeft"> 
       <jsp:include page="search.jsp"></jsp:include> 
      </div> 
      <div id="contentRight"> 
       <jsp:include page="topdeals.jsp"></jsp:include> 
      </div> 
      </div> 
      <br> 
      <div> 
       <jsp:include page="userHistoryWidget.jsp"></jsp:include> 
      </div> 
     </div>  
     <jsp:include page="footer.jsp"></jsp:include> 
    </div> 
</body> 
</html> 

Эта страница включает множество виджетов, два из которых являются search.jsp и userHistoryWidget.jsp. Теперь, когда я запускаю эту страницу, все в порядке, но тэг jquery datepicker не работает. Я имею в виду, что календар не отображается. Если я удалю головную метку из loginSuccess.jsp, тогда начнется работа datepicker, но затем кнопка отправки, которая закодирована для отправки асинхронного запроса в userHistoryWidget.jsp, перестает работать. Они не реагируют на клики. userHistoryWidget.jsp выглядит следующим образом:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<%@ taglib prefix="s" uri="/struts-tags"%> 
<%@ taglib prefix="sj" uri="/struts-jquery-tags"%> 
<html> 
<head> 
<s:head /> 
<sj:head /> 
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 
<link rel="stylesheet" type="text/css" href="style.css" media="all" /> 
</head> 
<body> 


    <div id="searchHeaderHistory">User History</div> 



    <div class="CSSTableGenerator"> 
     <table> 
      <colgroup> 
       <col span="1" style="width: 5%;"> 
       <col span="1" style="width: 10%;"> 
       <col span="1" style="width: 8%;"> 
       <col span="1" style="width: 15%;"> 
       <col span="1" style="width: 15%;"> 
       <col span="1" style="width: 6%;"> 
       <col span="1" style="width: 6%;"> 
       <col span="1" style="width: 17%;"> 
       <col span="1" style="width: 18%;"> 
      </colgroup> 

      <tr> 
       <td>Ticket ID</td> 
       <td>Booking Date</td> 
       <td>Flight ID</td> 
       <td>From</td> 
       <td>To</td> 
       <td>Total Fare</td> 
       <td>Net Fare</td> 
       <td></td> 
       <td></td> 
      </tr> 

      <s:iterator value="ticketsList" var="ticket" status="stat"> 

       <tr> 
        <td align="center"><s:property value="#ticket.tid" /></td> 
        <td align="center"><s:property value="#ticket.bookingdate" /></td> 
        <td align="center"><s:property 
          value="#ticket.scheduleDetails.flightDetails.fid" /></td> 

        <s:if test="#ticket.flag==3"> 
         <td><s:property 
           value="#ticket.scheduleDetails.flightDetails.routeDetails.via" /><br> 
          <s:property value="#ticket.scheduleDetails.via_dep_date" />&nbsp;<s:property 
           value="#ticket.scheduleDetails.via_dep_time" />hrs</td> 
        </s:if> 
        <s:if test="#ticket.flag==1 ||#ticket.flag==2||#ticket.flag==4"> 
         <td><s:property 
           value="#ticket.scheduleDetails.flightDetails.routeDetails.source" /><br> 
          <s:property value="#ticket.scheduleDetails.source_dep_date" />&nbsp;<s:property 
           value="#ticket.scheduleDetails.source_dep_time" />hrs</td> 
        </s:if> 
        <s:if test="#ticket.flag==1 ||#ticket.flag==2||#ticket.flag==3"> 
         <td><s:property 
           value="#ticket.scheduleDetails.flightDetails.routeDetails.destination" /><br> 
          <s:property value="#ticket.scheduleDetails.dest_arr_date" />&nbsp;<s:property 
           value="#ticket.scheduleDetails.dest_arr_time" />hrs</td> 
        </s:if> 
        <s:if test="#ticket.flag==4"> 
         <td><s:property 
           value="#ticket.scheduleDetails.flightDetails.routeDetails.via" /><br> 
          <s:property value="#ticket.scheduleDetails.via_arr_date" />&nbsp;<s:property 
           value="#ticket.scheduleDetails.via_arr_time" />hrs</td> 
        </s:if> 
        <td align="center"><s:property value="#ticket.fare" /></td> 
        <td align="center"><s:property value="#ticket.dealFare" /></td> 
        <td style="width: 150px" align="center"> 
         <s:url id="getPassengers" value="/getPassengers.action"> 
          <s:param name="Tid" value="#ticket.tid" /> 
         </s:url> 
         <sj:a id="link_%{#stat.index}" href="%{getPassengers}" targets="ajaxdiv" cssClass="orangebuttonsmall"> 
           View Details  
         </sj:a> 
        </td> 
        <td style="width: 150px" align="center"> 
         <s:a action="cancel" id="button1" style="float:left" cssClass="orangebuttonsmall">Cancel Ticket 
          <s:param name="Tid" value="#ticket.tid"></s:param> 
         </s:a> 
        </td> 
       </tr> 
      </s:iterator> 

     </table> 
    </div> 
</body> 
</html> 

search.jsp выглядит следующим образом:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" 
    pageEncoding="ISO-8859-1"%> 
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<%@ taglib prefix="s" uri="/struts-tags"%> 
<%@ taglib prefix="sj" uri="/struts-jquery-tags"%> 
<html> 
<head> 
<s:head /> 
<sj:head /> 
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 

<link rel="stylesheet" type="text/css" href="style.css" media="all" /> 
<link rel="stylesheet" 
    href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css" /> 
<script src="http://code.jquery.com/jquery-1.9.1.js"></script> 
<script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script> 

<script> 
    $(function() { 
     $("#datepicker").datepicker(); 
    }); 
</script> 


<title>Search</title> 
</head> 
<body> 
    <s:form action="searchFlight" method="post" theme="css_xhtml" cssClass="form1small"> 
     <div class="searchHeadersmall">Search Flight</div> 
     <div id="searchForm1"> 
      <s:select list="cityList" headerValue="--------Select--------" headerKey="-1" 
       name="searchFlightDetails.from" label="Leaving From"></s:select> 
      <s:select list="destlist" headerValue="---------Select-------" headerKey="-1" 
       name="searchFlightDetails.to" label="Going To"></s:select> 
      <s:textfield label="Date" name="searchFlightDetails.date_of_travel" 
       id="datepicker" /> 
      <s:select list="#{'1':'1','2':'2','3':'3','4':'4','5':'5'}" 
       headerValue="" headerKey="-1" 
       name="searchFlightDetails.no_of_passengers" label="No of tickets" 
       style="width:50%; float:left"></s:select> 
      <div class="inputsmall nobottombordersmall"> 
       Type &nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; 
       <s:radio label="Type" name="searchFlightDetails.nonstop" 
        list="#{'Y':'NonStop','N':'Normal'}" theme="simple" /> 
      </div> 
      <div id="submitdivid1"> 
       <sj:submit id="submitsearch" value="Show Flights" targets="mainContent"/> 
      </div> 
     </div> 
    </s:form> 
</body> 
</html> 

Может кто-нибудь помочь мне решить эту проблему? Заранее спасибо ..

+2

[Примеры плагинов Struts2 & SJ] (https://github.com/coding-idiot/Struts2-Examples) –

+0

@coding_idiot: отличный материал, вы должны спамить свою коллекцию, я видел лучшие примеры, чем в официальном один ... –

+0

Я писал их около 2 лет назад, когда учился. Это было совсем недавно, когда я узнал, что официального материала все еще недостаточно, и поэтому я поделился своими примерами/образцами в Github. Я хотел бы поделиться этим со всеми, но не знаю, как это сделать. –

ответ

2
  1. Если ваше намерение просто включить в JSP-страницу других страниц, чтобы сформировать полную страницу, то я предлагаю удалить повторяющуюся часть (HTML, голова, тело & других подобных меток) и содержат только конкретная часть, так что полученный html содержит только ONE html, head & тег тела.

  2. Для этого необходимо, чтобы sj plugin нуждался в компонентах пользовательского интерфейса: <sj:head jqueryui="true"/>. Глядя на ваш код, появляется родительская страница loginSuccess.jsp &, следовательно, это <head> должно содержать это определение sj:head.

Попробуйте удалить избыточный код и, надеюсь, он должен работать.

+0

Да, проблема была в избыточном коде. Я удалил его, и он сработал. спасибо .. Решил мне большую проблему. –

+0

+1, приятно видеть, что кто-то поддерживает плагин jquery. – Quaternion

Смежные вопросы