使用 jstl 访问 url 参数

Posted

技术标签:

【中文标题】使用 jstl 访问 url 参数【英文标题】:accessing url parameter using jstl 【发布时间】:2013-08-12 12:18:36 【问题描述】:

我是 jstl 的新手,我需要帮助在 jsp 上获取 url-string 参数,该参数还包含从数据库检索的对象的迭代列表中的 EL 标记。有人可以告诉我如何修复下面的代码,以便下面的代码行填充我要求的实际数字$param.spid:

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

这是背景:

我正在调用具有以下 url 模式的 servlet:

view-course-summaries?spid=1  

这会在 servlet 中调用以下 doGet 方法:

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);

并返回如下jsp:

<%@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" %>

【问题讨论】:

【参考方案1】:

试试这个

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

【讨论】:

谢谢。我认为我对引号的放置也是问题的一部分。 +1 和接受答案的信用。很好的响应时间。

以上是关于使用 jstl 访问 url 参数的主要内容,如果未能解决你的问题,请参考以下文章

使用带有 JSTL 的 EL 访问枚举值

如何使用 JSTL sql:query 访问重复的列名?

在 JavaScript 中访问 Java / Servlet / JSP / JSTL / EL 变量

在 JavaScript 中访问 Java / Servlet / JSP / JSTL / EL 变量

在 JavaScript 中访问 Java / Servlet / JSP / JSTL / EL 变量

在 Freemarker 中生成带参数的 URL,类似于 jstl 的 c:url