![](/img/trans.png)
[英]I can pass a variable from a JSP scriptlet to JSTL but not from JSTL to a JSP scriptlet without an error
[英]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.