• struts2常见错误


    1.Caught exception while loading file struts-default.xml - [unknown location]
    解决办法:
    由于lib包冲突造成的,将两个解析xml用的jar从项目里移到tomacat的lib下面就ok了,xml-apis.jar xerces-2.6.2.jar
    2.严重: Exception starting filter struts2
    Error building results for action login in namespace  - action - file:/E:/apache-tomcat-6.0.14/webapps/testStruts2/WEB-INF/classes/struts.xmlstruts2常见错误总结57
    原因:在web.xml已声明使用模板,并对所有的类进行了监听,但在处理过程中,发现不知道到哪里去找模板的配置文件,即在struts.xml中已使用了模板,但并没有告诉程序应该到哪去解析这些内容,即titles-default.java文件应该声明出来,
    原因1:在struts.xml中错误的声明如下:
    <package name="aa1" extends="struts-default" >
    <action name="login" class="com.sun.demo.LoginAction">
    <result type="tiles">showWelcomePage</result>

    </action>

    </package>
    应改为:
    <package name="aa1" extends="titles-default" >
    <action name="login" class="com.sun.demo.LoginAction">
    <result type="tiles">showWelcomePage</result>

    </action>

    </package>
    原因2:titles.xml文件的 错误配置
    <tiles-definitions>
             <definition name="showWelcomePage" template="template.jsp">                 
                  <put-attribute name="menu" >menu_1.jsp</put-attribute>                 
                  <put-attribute name="content" >login_form.jsp</put-attribute>
    </definition>
    正确的配置为:
    <tiles-definitions>
             <definition name="showWelcomePage" template="template.jsp">                 
                  <put-attribute name="menu" value="/menu_1.jsp"></put-attribute>                 
                  <put-attribute name="content" value="/login_form.jsp"></put-attribute>
    </definition>
    页面显示情况如下:

    错误配置如下:
    <definition name="showWelcomePage" template="template.jsp">                 
                  <put-attribute name="menu" value="menu_1.jsp"></put-attribute>                 
                  <put-attribute name="content" value="login_form.jsp"></put-attribute>
    </definition>
    正确配置如下 :
    <definition name="showWelcomePage" template="template.jsp">                 
                  <put-attribute name="menu" value="/menu_1.jsp"></put-attribute>                 
                  <put-attribute name="content" value="/login_form.jsp"></put-attribute>
    </definition>
    在value属性中,以"/"开头表示地址,如果不以“/”开头,则系统会默认为内容
    3.执行增加操作时,直接对对象进行操作,对象中各字段值都正确,但插入数据库后乱码
    解决办法(1)统一页面和数据库编码为utf-8
    (2)修改hibernate的配置文件,修改url属性为:
    jdbc:mysql:/127.0.0.1:3306/shop?useunicode=true&characterEncuoding=utf-8
    4.could not create Query
    原因:sql语句书写不正确
    5.mysql数据库问题
    mysql Error 1115号错误,utf编码
    解决办法:
    安装时编码采用默认的编码,安装成功后,再到安装路径下修改安装语言,修改mysql/my.ini文件。
    6.在对对象进行删除操作时,如果对象中的某个字段不允许为空,则必须赋值,否则会提示:字段名not null等信息
    7.在进行页面跳转时(从action中到页面,使用了模板),提示I/O异常
    解决办法:tiles.xml文件中document题头没有书写正确
    8.在进行页面跳转时,已经跳转到了相应的页面,但显示结果页面不正确。
    解决办法:检查模板中的各个属性是否正确配置,尤其注意有的属性会忘记配置。
    9.对日期类型数据进行操作
    (1)配置文件中相对应的字段属性改为date
    (2)pojo类中引用java.sql.date
    10.Nosuchdefinition titles...
    原因:tiles.xml文件中的配置有问题,尤其注意name属性
    11.在服务器一启动,就会报“Filter error”等提示信息,项目无法建立
    原因struts2常见错误总结1)struts.xml配置错误
    1>package中extends错误
    2>action中
    12、No result defined for action ***Action and result success
        这个错误产生的原因是,在struts.xml中配置没有配置success result。我的理解是action执行完后,必须产生一个result类。这个类可是servlet或是其他,但不能为空。
        解决方法:增加result success定义。
        <result>***.jsp</result>
      
       13、No result defined for action ***Action and result input
       这个错误,在提交数据时经常碰到。定义的struts2 intercept发挥了作用,当POJO类型与输入的类型不同时,intercept类会中止拦截,并返回输入页面。详细的错误可在使用<s:fielderror/>来获取。
        解决方法:增加resut input定义。
        <result name="input">***.jsp</result>
      
       14、There is no Action mapped for namespace / and action name ***Action
        可以直译为没有找到这个action,也就是说在struts.xml中没有定义这个action。这个错误一般是action的名字拼写错误造成的,请仔细检查struts.xml的定义与页面的acrion是否一致。

       15、Class ognl.OgnlRuntime can not access a member of class ***Action with modifiers "private"
        关键字是"private",action类中的字段为private,这样页面(如jsp)是无法访问到的,这也是struts2面向对象的一大特征。
        解决方法:
        在action中添加set get方法,这样struts会自访问这个方法。set get方法必须遵循bean的标准写法。


      16、Exception starting filter struts2
       未定变义struts-default。也package中加入extends="struts-default"

    17、笔下之前遇到一个问题:报:Error building results for action admin_* in namespace

    同时还报:Caused by: There is no result type defined for type 'redirectAction'

    网上说是package元素里要加入extends="struts-default"属性,

    但是package元素里有extends="struts-default"属性,之前很费解

    最后修改redirectAction为redirect-action解决问题,个人估计是struts2版本的问题

    <result name="checkSuccess" type="redirect-action">

    总结:仔细看错误原因很重要,对症下药!

  • 相关阅读:
    ActiveReports 9实战教程(1): 手把手搭建环境Visual Studio 2013 社区版
    分享产品发布的10条经验
    Mobile first! Wijmo 5 + Ionic Framework之:Hello World!
    Java知识回顾 (14)网络编程
    Java知识回顾 (13)序列化
    idea下java项目的打包与使用
    Java知识回顾 (12) package
    Java知识回顾 (11) 异常处理
    创建表时 ORA-00955: 名称已由现有对象使用
    工作笔记—hibernate之QueryCriteria
  • 原文地址:https://www.cnblogs.com/yueguanguanyun/p/7397331.html
Copyright © 2020-2023  润新知