相关疑难解决方法(0)

如何安装JSTL?绝对的uri:http://java.sun.com/jstl/core无法解决

我不知道我做错了什么,但我不能包括JSTL.我有jstl-1.2.jar,但不幸的是我得到了例外:

org.apache.jasper.JasperException: The absolute uri: http://java.sun.com/jstl/core cannot be resolved in either web.xml or the jar files deployed with this application
    at org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:51)
    at org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:409)
    at org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:116)
    at org.apache.jasper.compiler.TagLibraryInfoImpl.generateTLDLocation(TagLibraryInfoImpl.java:315)
    at org.apache.jasper.compiler.TagLibraryInfoImpl.<init>(TagLibraryInfoImpl.java:148)
    at org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:429)
    at org.apache.jasper.compiler.Parser.parseDirective(Parser.java:492)
    at org.apache.jasper.compiler.Parser.parseElements(Parser.java:1439)
    at org.apache.jasper.compiler.Parser.parse(Parser.java:137)
    at org.apache.jasper.compiler.ParserController.doParse(ParserController.java:255)
    at org.apache.jasper.compiler.ParserController.parse(ParserController.java:103)
    at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:170)
    at org.apache.jasper.compiler.Compiler.compile(Compiler.java:332)
    at org.apache.jasper.compiler.Compiler.compile(Compiler.java:312)
    at org.apache.jasper.compiler.Compiler.compile(Compiler.java:299)
    at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:586)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) …
Run Code Online (Sandbox Code Playgroud)

jsp servlets jstl

124
推荐指数
8
解决办法
34万
查看次数

如何从Java代码设置JSTL语言环境?

我想设置由<fmt:formatNumber>朋友使用的JSTL语言环境.我知道这是可能的<fmt:setLocale>,但我需要动态地(取决于从我的数据库中检索的用户数据)并且更喜欢Java代码 - 一个过滤器类,确切地说.

我认为将session属性设置javax.servlet.jsp.jstl.fmt.locale为我想要的Locale实例就可以了,但是它被忽略了:JSTL标签继续使用浏览器区域设置.

我确认没有相同名称的页面上下文或请求属性.

那么我做错了什么?或者我真的需要从JSP中做到这一点吗?

阅读JSTL代码,我发现了对a的引用,LocalizationContext并认为我需要设置一个.然而,我无法确切地弄清楚它如何适合图片或如何设置图片.

java locale jstl setlocale

17
推荐指数
2
解决办法
3万
查看次数

JSP/Servlet中的多语言支持

如何通过JSP/Servlet提供多语言支持?如何根据所选语言在运行时包含不同语言的静态数据?

java jsp servlets java-ee

7
推荐指数
2
解决办法
1万
查看次数

从JSTL读取属性文件

我试图使用taglib从JSTL中读取"属性文件",但我无法访问它

<%@ taglib prefix="fmt" uri="http://java.sun.com/jstl/fmt"%> 
Run Code Online (Sandbox Code Playgroud)

我已经在web.xml中正确找到了tld文件,我确定这一点

<taglib>
<taglib-uri>http://java.sun.com/jstl/fmt</taglib-uri>
<taglib-location>/WEB-INF/lib/fmt.tld</taglib-location>
</taglib>
Run Code Online (Sandbox Code Playgroud)

属性文件名是msg.性能

<fmt:bundle basename="msg">
<fmt:message key="error.more" />
</fmt:bundle>
Run Code Online (Sandbox Code Playgroud)

我一直在

???error.more???
Run Code Online (Sandbox Code Playgroud)

而不是属性文件中的消息

我认为问题在于找到属性文件,或者在基本名称中

<fmt:bundle basename="msg">
Run Code Online (Sandbox Code Playgroud)

我应该在哪里找到属性文件,如何在代码中引用它?

感谢大家

jstl properties taglib

6
推荐指数
2
解决办法
2万
查看次数

使用JSP中的资源包属性进行国际化,非拉丁文本成为Mojibake

我有以下index.jsp:

<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<fmt:setLocale value="ru_RU"/>
<fmt:setBundle basename="messages"/>
<html>
  <head>
    <title></title>
  </head>
  <body>
  <h1><fmt:message key="login"/></h1>
  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

和属性文件messages_ru_RU.properties:

login = ?????
Run Code Online (Sandbox Code Playgroud)

问题是我在输出中得到了垃圾unicode字符:

Ëîãèí
Run Code Online (Sandbox Code Playgroud)

更新

将.properies文件编码更改为UTF-8.最新产品:Ðогин

请帮助我,将其更改为正常的西里尔字母.

属性文件: messages_ru_RU.properties

java jsp jstl utf-8 internationalization

6
推荐指数
1
解决办法
1909
查看次数

是否有JSP EL的eval函数?

我正在寻找一种方法来在JSP页面输出时将字符串计算为el.(我想当它的toString()方法在引擎盖下调用???)

例如,在我的页面中,如果我这样做:

<title>${bean.title}</title>
Run Code Online (Sandbox Code Playgroud)

title将是bean的属性,它将返回一个字符串.我想在bean.title中存储其他EL表达式,以便对它们进行评估.

所以,如果bean.title =" This is the ${param.pageType} page",显然会在写入页面之前进行评估.

有没有办法做到这一点?

jsp eval el

5
推荐指数
1
解决办法
1828
查看次数

JSP国际化RTL/LTR

我想创建一个可以用两种语言查看的网站,一个LTR和一个RTL.这意味着所有内容都应以两种语言中的任何一种显示.

我的框架是Spring,我正在使用Tiles2,但我认为这个问题不是特定于框架的.

支持两种语言的显而易见的解决方案是将所有内容加倍(所有JSP,片段等),并获得适合您选择的语言的树的一部分.但这会在更改网站时导致问题(您可能忘记更新其他JSP),并且不可扩展(尝试为5或10种语言执行此操作).

我知道我可以使用属性文件来托管不同语言的字符串,但是我的网站将是一个庞大的spring:message标签集合,并且将更难维护(如果我有一个100行的段落会发生什么,这一切都进入一个属性行吗?)

是否有任何类型的框架,插件,其他,它解决了这个问题?有没有人遇到过这个问题的聪明解决方案?

java jsp internationalization tiles2 right-to-left

5
推荐指数
1
解决办法
1840
查看次数

翻译的最佳实践

我正在使用JSP编写一个网站.我希望网站有多种语言版本,所以我HashMap为我计划支持的每种语言创建了一个,并且通过map.get("identifier")其他一些代码来查找文本.

我遇到的问题是我之前通过使用format函数解决的问题(类似于printf许多语言),但这是另一种语言.

具体问题是,文本User performed action可能会出现Action was performed by user另一种语言(即术语可能会出现故障).

在过去,我做过类似的事情#translate("Welcome to the site, %s!", {"Username"}),然后使用语言的format功能替换%s用户名.我可以简单地使用String#replace但是我不能做#translate("Welcome to the site, %s! You last visited on %s!", {"username", "last visit"})像我想做的事情.

对不起,如果这是一个不好的解释 - 只需查看printfPHP之类的东西.

在Java中复制这样的东西的最佳方法是什么?谢谢您的帮助.

java jsp

4
推荐指数
1
解决办法
1036
查看次数

JSTL - 如何获得价值?

我在我的jsp页面中有这个: ${category.name_ENG} 它有"Car"作为值

但我在另一个变种中使用当地语言:${locale}.所以在我的jsp中我想根据locale变量显示汽车值.

我试过那些:

${category.name_${locale}}
${category['name_${locale}']}
${category['name_{locale}']}
Run Code Online (Sandbox Code Playgroud)

但他们都没有工作?任何帮助?

jsp jstl

4
推荐指数
1
解决办法
4301
查看次数

JSP和ResourceBundles

通常,使用JSTL和fmt在JSP中加载和使用资源包,但这需要始终使用语法<fmt:message key=""/>来访问该值.

当要本地化的文本看起来 <a href="url" title="message">很尴尬(尽管写入有效):

<a href="url" title="<fmt:message key="key"/>">
Run Code Online (Sandbox Code Playgroud)

并且很难使用范围的语法

<fmt:message key="key" var="var">
<a href="url" title="${var}"> 
</fmt:message>
Run Code Online (Sandbox Code Playgroud)

有更简单的方法吗?我正在寻找像这样的东西

<a href="url" title="${messages.key}">
Run Code Online (Sandbox Code Playgroud)

java jsp servlets jstl internationalization

4
推荐指数
1
解决办法
8011
查看次数