zoukankan      html  css  js  c++  java
  • 关于Struts2开发过程中遇到的问题和解决方案

    1.表的名字不要取关键字一样,不要取User这种的

    2.java判断字符串相等用.equals,不能用==

    3.<s:textfield name="caiuser.uphone" 只能小写?改了就不行

    4.主键千万不要用中文

    5.最好不要用下划线命名
    Account表名------------------CAI_GOODS
    account包名------------------cai_goods
    Account类名------------------CaiGoods
    AccountDAO类名---------------CaiGoodsDAO

    6.<a href="login_succ.jsp">返回商品页面</a>不行 <s:iterator value="mycartinfo">找不到mycartinfo,
    <s:iterator value="mycartinfo">只能是跳转的页面才能接受到mycartinfo

    7.有用到当做查询条件的列都要用英文数字当记录

    8.显示表要加一个用户名字段

    9.SQL连接不上的时候打开配置管理器 启动MS后缀的

    10.无法布置项目很有可能是Struts文件里面有错误

    11.类实例可以判断是否为null,caiuser!=null,但是还没有初始化的字符串是不能判断的,会发生空指针错误,而且字符串的判断是用equels

    12.商品显示不应该做在LoginAction里面,要自己定义一个Action不然检验器那里会有问题

    13.自动增长序列要把assigned改为native
    <id name="uno" type="java.lang.Integer">
    <column name="UNO" />
    <generator class="native" />
    </id>

    String queryString = "from CaiUser a where a.uname ='"+myname+"'";

    Stu.hbm.xml


    14.ERROR LogMananger.repositorySelector was null likely due to error in class reloading,
    只有这句是因为在Struts中有多余的Action映射


    15.数据库中一个中文字符占2个char的num

    16.重建表要先把xyz中的映射删除,再删除右下角的表,最后再删除包

    17.save语句不能执行要改xml文件里面的assigned改为native或者反过来

    18.Action传值到Jsp要记得写get set方法,然后在JSP中写<s:property value='repaire.rno'/>,jsp必须是跳转的页面
    <s:iterator value="repaireList">
    getRepaireList


    19.有上传文件的页面必须在From中加上
    <s:form action="Publish.action" method="post" theme="simple" enctype ="multipart/form-data" >
    才可以映射路径

    20.传表单的时候可以传一个隐藏的值,不会在页面显示,但是可以提交到form

    <s:hidden name="newrepaire.rno" value="%{repaire.rno}"></s:hidden>
    <s:hidden name="newrepaire.rno" value="%{repaire.rno}"></s:hidden>

    21.设置textfield的默认值是这样设置value的<s:textfield name="newrepaire.runiversity" value="%{repaire.runiversity}"></s:textfield>

    22.新定义的表的对象的实例要初始化,不然会出现空指针异常Choosemas choosemas=new Choosemas();


    23.要传到下一个jsp页面的List,记得要加方法和这些语句

    List masList;
    this.masList = new ArrayList<Mas>();
    this.masList.add(mas);
    public List getMasList() {
    return masList;
    }
    public void setMasList(List masList) {
    this.masList = masList;


    24校验器的Struts的result里面必须加一个
    <result name="input">/index.jsp</result><!-- 输入不能为空的检查要加这句 -->
    }

    25.有的时候空指针异常的原因是方法名写错了
    像Dao中的方法名,自己定义的和默认的不要太像

      1、可以用disable = true,禁用此标签,但是可以显示内容,不过显示的是灰色的文本框。

      Html代码 收藏代码
      收件人:<s:textfield name="linkmanEmail" value="%{#request.contribution.linkmanEmail}" disabled="true">

      样式:



      2. 另外,struts2的标签里面是有一个,readonly 属性,把这个属性设为true。这样这个文本框就变成了只读的了,就无法修改了。而且颜色的话也会变,不过比disable要好点。

      Html代码 收藏代码
      收件人:<s:textfield name="linkmanEmail" value="%{#request.contribution.linkmanEmail}" readonly="true">

      样式:


    26.遇到一直显示404异常的时候,就是随便建个jsp都打不开,就把所有表再导入一遍工程就行了,不过要注意把自己写的DAO方法复制出来

    27.插入表失败可能是自己的变量的数据类型和表的数据类型不符合,或者是字符数不符合

  • 相关阅读:
    SecureCRT:保存输出日志的方法
    中文数字转阿拉伯数字
    XP 安装Oralce 10g 数据库
    SQL语句处理一些修改、新增、删除、修改属性操作(MySql)
    SpringBoot整合Shiro完成认证
    SpringBoot 集成Shiro之使用Redis缓存授权认证信息
    解决Establishing SSL connection without server‘s identity verification is not recommended.
    操作系统的内存笔记
    Shiro的认证与授权
    详解 TCP的三次握手四次挥手
  • 原文地址:https://www.cnblogs.com/HangZhe/p/7191385.html
Copyright © 2011-2022 走看看