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玩的就是配置,玩的就是心跳。

  • 相关阅读:
    Codeforces Round #624 (Div. 3) D. Three Integers
    Codeforces Round #624 (Div. 3) C. Perform the Combo(前缀和)
    Codeforces Round #624 (Div. 3) B. WeirdSort(排序)
    Codeforces Round #624 (Div. 3) A. Add Odd or Subtract Even(水题)
    洛谷P1130红牌(简单DP)
    洛谷P1044栈(DP)
    Codeforces 1315C Restoring Permutation
    MATLAB字符串处理
    MATLAB矩阵操作和算术运算符
    MATLAB基本概念和变量
  • 原文地址:https://www.cnblogs.com/xusir/p/3076979.html
Copyright © 2011-2022 走看看