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

关于Struts2开发过程中遇到的问题和解决方案的更多相关文章

  1. iOS开发过程中常见错误问题及解决方案

    错误原因:ld: x duplicate symbol for architecture x86_64 clang: error: linker command failed with exit co ...

  2. struts2.0中struts.xml配置文件详解

    先来展示一个配置文件 <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration ...

  3. 一些关于angularJS的自己学习和开发过程中遇到的问题及解决办法

    这篇文章也许会不定时更新,主要记录这段时间内自己遇到的angularjs学习开发的一些问题的解决办法.本文以摘抄为主,主要目的还是将自己遇到的困惑在各个地方查到的解决办法的汇总,给自己留个备忘吧. 1 ...

  4. SubSonic3.0 Demo1.0——应用了T4模版可减少开发过程中70%以上的代码量以及80%以上的出错率

    应网友的要求,抽了点时间写了这个Demo,希望对2.2版想升级到3.0的朋友或正在使用3.0的朋友有所帮助.大家在使用Demo过程中如果发现什么问题或有什么建议,可以直接将Bug提交给我或告诉我,我会 ...

  5. web开发过程中经常用到的一些公共方法及操作

    进化成为程序猿也有段岁月了,所谓的经验,广度还是依旧,只不过是对于某种功能有了多种实现方式的想法.每天依旧不厌其烦的敲打着代码,每一行代码的回车似乎都有一种似曾相识的感觉.于是乎:粘贴复制,再粘贴再复 ...

  6. ueditor1.3.6jsp版在struts2应用中上传图片报"未找到上传文件"解决方案

    摘要: ueditor1.3.6jsp版在struts2应用中上传图片报"未找到上传文件"解决方案 在struts2应用中使用ueditor富文本编辑器上传图片或者附件时,即使配置 ...

  7. Eclipse开发过程中个VM Arguments的设置

    Eclipse开发过程中个VM Arguments的设置 1:jre中的Default VM Arguments: -Xms256M -Xmx640M -XX:PermSize=256m -XX:Ma ...

  8. 客户关系管理系统(CRM)的开发过程中使用到的开发工具总结

    开发<客户关系管理系统(CRM)>软件过程,也就是一个标准的Winform程序的开发过程,我们可以通过这个典型的软件开发过程来了解目前的开发思路.开发理念,以及一些必要的高效率手段.本篇随 ...

  9. 软件开发过程中的审查 (Review)

    http://blog.csdn.net/horkychen/article/details/5035769 软件开发过程中的审查 (Review)   希望别人做些什么->定义出流程 希望别人 ...

随机推荐

  1. HTML5 History API让ajax能回退到上一页

    HTML5 History API提供了一种功能,能让开发人员在不刷新整个页面的情况下修改站点的URL.这个功能很有用,例如通过一段JavaScript代码局部加载页面的内容,你希望通过改变当前页面的 ...

  2. mongoose修改数组中某个特定的值

    写博客的时候有一个这样的业务,一个标签集合和一个文章集合,它们是多对多的关系,文章集合中tags字段包含它对应的标签,现在修改标签集合中某条标签记录的名字,文章集合中所有包含这个标签的tags字段的值 ...

  3. Gartner 2018新技术成熟度曲线

    https://blog.csdn.net/BtB5e6Nsu1g511Eg5XEg/article/details/82047719 近日,Gartner发布了2018年新技术成熟度曲线,首次将生物 ...

  4. 解决myeclipse/eclipse创建或导入maven工程时引发的问题

    起因: 最近学习maven,按照教程把命令行创建的maven工程导入到eclipse/myeclipse,由于库中没有一些依赖包,所以在导入工程的时候开发工具自动下载依赖包.可是,由于天朝特殊环境的问 ...

  5. Windows下使用第三方lua库

    第三方库lua和dll文件可以直接放在lua解释器目录下, > print(package.cpath)D:\lua-5.2.3\src\?.dll;D:\lua-5.2.3\src\loada ...

  6. 网络广告CPS/CPC/CPV/CPM/CPA分别是什么意思

    CPA:注册广告(一般按用户来计算)CPC:点击广告(一般按一千个ip计算)CPS:消费广告(用户通过你的网站中投放的广告,达成消费,有提成)CPM:展示广告(展示广告,一般的视频比较多)CPV:按照 ...

  7. VMWare ESX/ESXi 虚拟机硬盘的厚置备(Thick Provision)与精简置备(Thin Provision)的转换

    VMWare ESX/ESXi 有两种硬盘置备方式,厚制备(thick)和精简置备(Thin) 有时可能会由于性能问题或磁盘空间需要将虚拟机磁盘在两种模式间进行互转,虽然在虚拟机配置页面是没有办法修改 ...

  8. Centos7 ss搭建

    1.安装pip Pip 是 Python 的包管理工具,下载ss十分方便,但是centos是没有pip的,我们需要安装一个. yum install python-setuptools & e ...

  9. RAID卡的缓存与磁盘自带的缓存的关系

    RAID卡是否有(启用)缓存对“随机读写”性能有巨大的影响.中高端的RAID卡都有缓存(价格也高). 那么RAID卡的缓存与磁盘自带的缓存是如何设置的? 戴尔服务器的perc H710 RAID卡有5 ...

  10. 【Java】HashTable和HashMap区别

    ①继承不同 public class Hashtable extends Dictionary implements Map public class HashMap extends Abstract ...