zoukankan      html  css  js  c++  java
  • struts json配置中遇到的问题记录

    struts.xml

        <package name="json" extends="json-default" namespace="/">
            <action name="user"  class="com.Zicheng.Action.UserAction" method="testByAction">
                <result name="success" type="json">
                    <!-- 这里指定将被Struts2序列化的属性,该属性在action中必须有对应的getter方法 -->
                    <param name="root">dataMap</param>
                </result>
            </action>
        </package>
    

      

    UserAction.java
    public class UserAction extends ActionSupport {
        private Map<String, Object> dataMap;
          public UserAction()
          {
              dataMap=new HashMap<String,Object>();
          }
        public String testByAction() {
            // dataMap中的数据将会被Struts2转换成JSON字符串,所以这里要先清空其中的数据
            dataMap.clear();
            User user = new User();
            user.setId("123");
            user.setName("JSONActionStruts2");
            user.setPassword("123");
            user.setSay("Hello world !");
            dataMap.put("user", user);
            // 放入一个是否操作成功的标识
            dataMap.put("success", true);
    
            // 返回结果
            return SUCCESS;
        }
        /**
         * Struts2序列化指定属性时,必须有该属性的getter方法,实际上,如果没有属性,而只有getter方法也是可以的
         * @return
         */
        public Map<String, Object> getDataMap() {
            return dataMap;
        }
    

      配置中遇到的问题

    一、Could not find action or result There is no Action mapped for namespace / and action name . - [unknown location]

    经过再三查找,最后确定是因为缺少一个包struts2-json-plugin-2.2.3.jar.

    下载到这个包,此错误消息。

    接下来遇到错误

    二、java.lang.NoClassDefFoundError: org/apache/commons/lang/StringUtils

    网上搜一下,缺少的是common-lang包。找一个加入进去,搞定不报错了,开心呀。

    三、但是一看页面上显示的是null,这不对。所以在网上又是继续搜索,最后发现没有加getter方法,最后加了一个dataMap的get方法可以了。

    struts的result方法,需要有getter/setter方法才能获取到值。

    记录留下纪念。

    刚学JAVA,起步有点难呀,JAVA玩的就是配置,玩的就是心跳。

  • 相关阅读:
    Windows消息初探(1)
    配置Git Extension免密码发布代码到CSDN
    一个简单的参数校验类
    Functions类,一个Javascript的函数加法类,将两个函数加起来,顺序执行
    对Javascript异步执行的理解
    aws在线技术峰会笔记-游戏解决方案
    aws在线技术峰会笔记-主会场
    努力成长为一只全栈工程师
    翻译:在Ubuntu 14.04上安装FTP服务器的方法
    奇妙的时间旅程
  • 原文地址:https://www.cnblogs.com/xusir/p/3076979.html
Copyright © 2011-2022 走看看