簡體   English   中英

jstl問題:2個最后一個腳本要從我的jsp中刪除

[英]jstl problem : 2 last scriptlet to remove from my jsp

我使用的代碼運行正常,但這是我的jsp中的最后一個scriptlet:

<%  List listMillesime= MultiMillesimeFactory.getInstance().getListMillesimeActif();
    pageContext.setAttribute("listMillesime",listMillesime);
    %>
...
<c:forEach var="millesime" items="${listMillesime}">
...
</c:forEach>

這是工廠報關單:

public class MultiMillesimeFactory {

    private static MultiMillesime multiMillesime;

    private MultiMillesimeFactory(){
    }

    public static MultiMillesime getInstance() {
        if (multiMillesime == null) {
            multiMillesime = new MultiMillesime();
        }
        return multiMillesime;
    }
}

Multimillesime是一個標准類,其方法getListMillesimeActif返回列表。 宣言 :

public class MultiMillesime {
...
   public List getListMillesimeActif() throws Exception {
     List _l = Collections.synchronizedList(new LinkedList());
...
     return _l;
   }
}

c:對於列表和枚舉中的每一個都工作正常,但是這里的問題來自使用getInstance,我嘗試了MultiMillesimeFactory.Instance.ListMillesimeActif,但沒有成功。

最后一個腳本是:

<a href='<%=request.getContextPath() %>

我不確定這兩個都是可移動的。

您可以將<%=request.getContextPath() %>腳本替換為JSTL標記:

<a href="${pageContext.request.contextPath}" />

看到類似這樣的情況並不少見:

<c:set var="ctx" value="${pageContext.request.contextPath}"/>
...
<a href="${ctx}" />

至於MultiMillesimeFactory的問題:它看起來像是您的代碼庫中的一個類,我們無法為您神奇地調試該問題。 聽起來不像是JSP問題。

“嘗試MultiMillesimeFactory.Instance.ListMillesimeActif沒有成功”是什么意思?


編輯: re:您的評論:我不確定我理解您的意思,但是我想問題是您需要使用MultiMillesimeFactory的完全合格的類名來MultiMillesimeFactory地查找它。 但是,您實際上應該盡可能避免使用scriptlet。 而是使用適當的servlet將ListMillesimeActif注入到請求中,如下所示:

public class MyServlet extends HttpServlet implements Servlet
{
    //...

    @Override
    public void doGet(HttpServletRequest request, HttpServletResponse response)
    {
        //...
        List listMillesime = MultiMillesimeFactory.getInstance().getListMillesimeActif();
        request.setAttribute("millesime", listMillesime);
        //...
    }

    //...
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM