eclipse+tomcat+struts 之前jsp页面中文显示的全是乱码.然后我就建了资源文件放在WEB-INF/src目录里.结果程序不能运行了.没办法了,不知道哪里配错了.于是我把资源文件删了,可程序还是不能运行.虽然没有报错,但页面没任何显示,就是一片空白.这是什么原因啊?还有就是资源文件具体怎么配置?放在哪里?我用的是jinto这个插件.

解决方案 »

  1.   

    缓存应该在%tomcat_home%\work\Catalina\localhost\你的工程 里
    配置文件应该在struts-config.xml里
      

  2.   

    下面是配置资源文件后的错误信息,帮忙看看是哪里出了问题HTTP Status 500 - --------------------------------------------------------------------------------type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:373)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:302)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:246)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    java.lang.reflect.Method.invoke(Method.java:597)
    org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:239)
    java.security.AccessController.doPrivileged(Native Method)
    javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
    org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:268)
    org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:157)
    root cause java.lang.NullPointerException
    org.apache.struts.taglib.TagUtils.retrieveMessageResources(TagUtils.java:1175)
    org.apache.struts.taglib.TagUtils.message(TagUtils.java:1038)
    org.apache.struts.taglib.bean.MessageTag.doStartTag(MessageTag.java:224)
    org.apache.jsp.pages.index_jsp._jspx_meth_bean_message_0(org.apache.jsp.pages.index_jsp:143)
    org.apache.jsp.pages.index_jsp._jspService(org.apache.jsp.pages.index_jsp:72)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:325)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:302)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:246)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    java.lang.reflect.Method.invoke(Method.java:597)
    org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:239)
    java.security.AccessController.doPrivileged(Native Method)
    javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
    org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:268)
    org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:157)
    note The full stack trace of the root cause is available in the Apache Tomcat/5.5.1 logs.
    --------------------------------------------------------------------------------Apache Tomcat/5.5.1
      

  3.   

    <message-resources parameter="ApplicationResources_zh"/>
    <message-resources parameter="com.struts.ApplicationResources"/>
    这是struts-config.xml里面资源文件的配置.有问题吗?
      

  4.   

    (!)
    java.lang.NullPointerException 
    你现在出现的是空指针异常,到你的work里面看看jsp页面的哪一行对应的是翻译后的
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802) (2)资源文件一般是在strut-config.xml里面配置的
     <message-resources parameter="com.t.struts.Messages" />
    com.t.struts: 这个是包路径,你可以根据需要自己写
    Messages是资源文件除后缀.properties之后的名字。(3)你jsp页面出现的中文乱码问题,不是因为资源文件的问题,而是你在jsp页面中应该用
    <%@ page contentType="text/html; charset=utf-8"%>
    标识一下,这个页面中要使用中文
      

  5.   

    jsp页面我是这样标识的啊.照样是乱码
      

  6.   

    你的ApplicationResources_zh为啥不配包的路径?
      

  7.   

    下面是我首页的完整代码.帮忙看看哪里会出现空指针异常<%@page language="java" contentType="text/html;charset=UTF-8"%>
    <%@taglib uri="/WEB-INF/tags/struts-html.tld" prefix="html"%>
    <%@taglib uri="/WEB-INF/tags/struts-bean.tld" prefix="bean"%>
    <%@taglib uri="/WEB-INF/tags/struts-logic.tld" prefix="logic"%><html>
    <head><title><bean:message key="view.title"/></title></head>
    <body>
    <table>
    <tr align="center"><td><%@include file="/pages/logo.jsp"%></td></tr>
    <tr align="right"><td><%@include file="/pages/head.jsp"%></td></tr>
    <tr align="center"><td>
    <html:submit property="submit" value="客户登录" onclick="javascript:test1();"/>&nbsp;&nbsp;
    <html:submit property="submit" value="产品经理登录" onclick="javascript:test2();"/>
    </td></tr>
    <tr align="center"><td><%@include file="/pages/foot.jsp"%></td></tr>
    </table>
    </body>
    </html>
    <script language="javascript">
    function test1(){
    window.location.href="CustomerIndex.do";
    }function test2(){
    window.location.href="ManageraIndex.do";
    }
    </script>
      

  8.   

    好像是配了ApplicationResources位置之后,把相关的都放到一起去,根据需要,所有.chinese的和.china的都自动找那个zh的资源才对。
      

  9.   

    哈哈~~~我路过...
    [color=#FF0000]你的问题只能说是RP问题..在我机器上面跑的好好的~~color]
    顺便问下,你哪来的那么多分啊?天天都看到你发帖问问题...
      

  10.   

    你的ApplicationResources_zh为啥不配包的路径?
    -----------------------------------------
    直接写在WEB-INF/src下面当然不用包的路径了
      

  11.   

    还是资源文件的问题.我自己配置的资源文件放在com.donghua.resources包里面
    struts-config.xml的配置如下:
    <message-resources key="myResources" parameter="com.donghua.resources.ApplicationResources_zh"/>
    <message-resources parameter="com.struts.ApplicationResources"/>我觉得没有错误了.问题到底出在哪里啊?哪位帮我解决一下
      

  12.   

    JSP页面出现乱码一般都是字符集编码有问题,可以尝试写一个字符集的Filter
    "虽然没有报错,但页面没任何显示,就是一片空白",出现这种问题,可以看一下HTML的源码,找找问题出在哪里资源文件的其实可以放在src目录中的任何地方,另外要注意的就是如果struts中应用了多模块配置,必须要制定一个唯一的资源文件,否则的话,可能会出现资源冲突.PS:struts中后面的模块MS会覆盖前面的模块配置内容