相关疑难解决方法(0)

fmt:message打印带有问号的键,如"??? login.label.username ???"

我正在尝试使用基于如何国际化Java Web应用程序的 JSTL 1.2来使我的网站国际化?.这是JSP文件的开头:

<%@ page pageEncoding="UTF-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<c:set var="language" value="${not empty param.language ? param.language : not empty language ? language : pageContext.request.locale}" scope="session" />
<fmt:setLocale value="${language}" />
<fmt:setBundle basename="com.bundle.test" />
<html lang="${language}">
Run Code Online (Sandbox Code Playgroud)

这是test.properties文件:

login.label.username = Username
login.label.password = Password
login.button.submit = Sign in
login.label.direction = rlt
Run Code Online (Sandbox Code Playgroud)

在身体中,我包括这些线:

<label for="username"><fmt:message key="login.label.username" /></label>
Run Code Online (Sandbox Code Playgroud)

但是当我在浏览器中打开JSP页面时,它输出如下:

??? ??? login.label.username

我希望它输出值"Username".

这是怎么造成的,我该如何解决?

jsp localization jstl

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

空白index.jsp重定向到某个servlet

是否可以有某种空 JSP (index.jsp) 并自动重定向到 servlet?

或者我可以不从页面 (jsp/html) 而是从 servlet 启动我的 Web 应用程序吗?(web.xml说不

我的 servlet 内的(例如)index.jsp页面需要逻辑Logic.java- 这就是为什么我需要在任何有用的 JSP 之前使用 servlet (不想使用 scriptlet 将逻辑与 UI 混合)

能做到吗?

java jsp servlets

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

servlet 应用程序中的 Unicode 字符显示为问号

最近我实现了基于如何国际化 Java Web 应用程序的国际化?.

但是现在我在某些页面上遇到了问题。如果是英语,则显示良好,但如果我们选择任何其他语言,则该页面中的所有值都显示为?????????

图片

我检查了服务器日志中的异常,但找不到任何人。

这是怎么引起的,我该如何解决?

jsp servlets jstl internationalization character-encoding

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

JSP resourceBundle

我没有问题propertiesJSP位于网站根目录(使用ResourceBundle )的文件加载和使用文件,但是当我尝试propertiesJSP位于目录中的文件中加载相同的文件时,它失败并说无法找到资源!

位于目录中的页面代码

<%@page import="org.apache.log4j.Logger"%>
<%@page import="com.persiangulfcup.utility.LogUtils"%>
<%@page import="java.util.ResourceBundle"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<%
  Logger logger = LogUtils.getLogger("page/contact");
  ResourceBundle lbls = null;
  ResourceBundle msgs = null;
  try {
    lbls = ResourceBundle.getBundle("labels");
    msgs = ResourceBundle.getBundle("messages");
  } catch (Exception ex) {
    logger.fatal(ex);
  }
%>
<div class="form">
  <div style="text-align: left; font: normal bold 14px arial; cursor: pointer" onclick="contactBox.hide();">X</div>
  <div style="padding-bottom: 10px;font-size: 14px; text-align: center"><%=msgs.getString("contactHeader")%></div>
  <form id="frmContact" onsubmit="try {sendContact();} catch (e) {console.log(e)} return …
Run Code Online (Sandbox Code Playgroud)

java jsp tomcat properties

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

Apache POI日期区域设置问题

在不使用Apache POI的情况下(例如,您手动生成xml以创建电子表格),您可以设置css类

mso-number-format: "General Date"
Run Code Online (Sandbox Code Playgroud)

要么

mso-number-format: "Short Date"
Run Code Online (Sandbox Code Playgroud)

使用Apache POI似乎不太可能,您将被锁定使用单个定义的日期格式,该格式始终依赖于物理服务器的区域设置或硬编码的某些值,而不是上面的客户端操作系统区域设置.

以下是我的代码,用户在美国服务器但在另一个国家/地区生活,希望在其所在地区查看日期,因此这不太好

    protected CellStyle getDateCellStyle(SXSSFWorkbook wb)
{
    CellStyle style = wb.createCellStyle();
    style .setDataFormat(wb.getCreationHelper().createDataFormat().getFormat("MM/dd/yyyy"));
    return style;
}
Run Code Online (Sandbox Code Playgroud)

基本上我想用"短日期"或"通用日期"替换"MM/dd/yyyy",但这些选项不起作用.有人有主意吗?我不能只根据服务器所在的位置获取区域设置,因为另一个国家可能会遇到它(因此我无法像其他答案所建议的那样在Java src中获取区域设置).

以前有人处理过这个吗?

java excel apache-poi

0
推荐指数
1
解决办法
3709
查看次数