2013-04-26 57 views
0

我有一個Spring應用程序是本地精品,但是當外部服務器上運行失敗,出現以下錯誤:調用Java對象在JSTL春季

org.apache.jasper.JasperException: /WEB-INF/jsp/index.jsp(53,28) The function size must be used with a prefix when a default namespace is not specified org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:40) org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407) org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:148) org.apache.jasper.compiler.Validator$ValidateVisitor$1FVVisitor.visit(Validator.java:1506) org.apache.jasper.compiler.ELNode$Function.accept(ELNode.java:129) org.apache.jasper.compiler.ELNode$Nodes.visit(ELNode.java:200) org.apache.jasper.compiler.ELNode$Visitor.visit(ELNode.java:242) org.apache.jasper.compiler.ELNode$Root.accept(ELNode.java:56) org.apache.jasper.compiler.ELNode$Nodes.visit(ELNode.java:200) org.apache.jasper.compiler.Validator$ValidateVisitor.validateFunctions(Validator.java:1531) org.apache.jasper.compiler.Validator$ValidateVisitor.checkXmlAttributes(Validator.java:1176) org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:846) org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1530) org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2361) org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2411) org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:865) org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1530) org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2361) org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2411) org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2417) org.apache.jasper.compiler.Node$Root.accept(Node.java:495) org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2361) org.apache.jasper.compiler.Validator.validateExDirectives(Validator.java:1763) org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:198) org.apache.jasper.compiler.Compiler.compile(Compiler.java:354) org.apache.jasper.compiler.Compiler.compile(Compiler.java:334) org.apache.jasper.compiler.Compiler.compile(Compiler.java:321) org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:592) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:328) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260) javax.servlet.http.HttpServlet.service(HttpServlet.java:717) org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:238) org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:250) org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1060) org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:798) org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:716) org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644) org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:549) javax.servlet.http.HttpServlet.service(HttpServlet.java:617) javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

這似乎是因爲我打電話這方法獲取CSS文件的位置等:

<link rel="stylesheet" href="${brandBean.getHostedCSSLocation()}style.css" 

這是在我的JSP頁面的頭部。此方法返回一個字符串:

public String getHostedImageLocation(){ 
    return "http://test.name:9999/Resources/resources/css/"; 
} 

該對象通過頁面控制器傳入。

有什麼我需要安裝在此服務器上才能使此工作?看起來物體並沒有被使用,因爲它們在本地。

+0

看起來'brandBean.getHostedCSSLocation()'沒有被設置爲任何作用域的屬性:頁面,請求,會話,應用程序。 – 2013-04-26 21:39:06

+0

你知道它爲什麼會在本地工作嗎?我不熟悉範圍,你會推薦什麼範圍? – Jon 2013-04-26 21:41:38

+0

也許有一個代碼或一個外部因素在這些屬性中注入了這個值。確保在本地開發機器和測試/生產環境中都部署了相同的WAR應用程序。 – 2013-04-26 21:43:37

回答

0

看來我試圖運行該應用程序的服務器運行的是Tomcat 6,而一個簡單的更新沒有辦法。