2013-08-10 67 views
7

Tôi mới tham gia jstl và tôi cần trợ giúp nhận tham số chuỗi url trên jsp cũng chứa đánh dấu EL từ danh sách đối tượng được lặp lại được truy xuất từ ​​cơ sở dữ liệu. Ai đó có thể chỉ cho tôi cách để sửa chữa đoạn code dưới đây để các dòng mã sau đây populates với một số thực tế mà tôi đang yêu cầu ${param.spid}:truy cập tham số url bằng cách sử dụng jstl

<a href="create-course-summary?spid="${param.spid}>add</a> 

Dưới đây là nền tảng:

Tôi gọi một servlet với các mẫu url sau:

view-course-summaries?spid=1 

này gọi doGet phương pháp sau đây trong một servlet:

protected void doGet(HttpServletRequest req, HttpServletResponse resp) 
    throws ServletException, IOException { 
    String spidString = req.getParameter("spid"); 
    Long spid = new Long(spidString); 
    List<CourseSummary> coursesummaries = new CourseSummaryDAO().findAllCS(spid); 
    req.setAttribute("coursesummaries", coursesummaries); 
    jsp.forward(req, resp); 
} 

Và trả về jsp sau:

<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> 
<%@ include file="admintop.inc" %> 
<table> 
<tr> 
    <td>Name of School (Course Provider):</td> 
    <td>will go here</td> 
</tr> 
<tr><td colspan=2> 
<a href="create-course-summary?spid="${param.spid}>add</a> 
</td> 
</tr> 
<tr> 
    <td colspan=2> 
     <table> 
      <tr> 
       <th>Type</th> 
       <th>Number</th> 
       <th>id</th> 
      </tr> 
      <c:forEach varStatus="loopCounter" items="${coursesummaries}" var="coursesummary"> 
      <tr> 
       <td> 
        <c:out value="${coursesummary.coursetype}" /> 
       </td> 
       <td> 
        <c:out value="${coursesummary.numunits}" /> 
       </td> 
       <td> 
        <c:out value="${coursesummary.id}" /> 
       </td> 
      </tr> 
      </c:forEach> 
     </table> 
    </td> 
</tr> 
</table> 

<%@ include file="adminbottom.inc" %> 

Trả lời

19

Hãy thử điều này

<a href='create-course-summary?spid=${param["spid"]}'>add</a> 
+0

Cảm ơn. Tôi nghĩ rằng vị trí của tôi trong các dấu ngoặc kép cũng là một phần của vấn đề. +1 và tín dụng cho câu trả lời được chấp nhận. Thời gian phản hồi tốt đẹp. – CodeMed

Các vấn đề liên quan