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.插入表失败可能是自己的变量的数据类型和表的数据类型不符合,或者是字符数不符合

  • 相关阅读:
    hadoop中namenode发生故障的处理方法
    开启虚拟机所报的错误:VMware Workstation cannot connect to the virtual machine. Make sure you have rights to run the program, access all directories the program uses, and access all directories for temporary fil
    Hbase的安装与部署(集群版)
    分别用反射、编程接口的方式创建DataFrame
    用Mapreduce求共同好友
    SparkSteaming中直连与receiver两种方式的区别
    privot函数使用
    Ajax无刷新显示
    使用ScriptManager服务器控件前后台数据交互
    数据库知识
  • 原文地址:https://www.cnblogs.com/HangZhe/p/7191385.html
Copyright © 2011-2022 走看看