SSH+ORACLE案例过程中出现的额一系列问题的可用解决方案(一)

来源:互联网 发布:数据库系统实现 编辑:程序博客网 时间:2024/04/30 09:58

1.         在添加数据的过程中可能出现序列号找不到的情况,首先在数据库中建立一个序列SEQUENCE,然后在hbm.xml配置文件中将含有sequence声明的语句中加入以下语句
<param name="sequence">SEQUENCE</param>,或者是将generator中的class改为native等

2.         在使用<s:form>过程中会出现原先的排版出现混乱的情况,这时可以在struts配置文件中添加简单模板声明http://www.blogjava.net/cyantide/archive/2008/06/10/206879.html(参考地址)

<constant name="struts.ui.theme" value="simple" />,这条语句的作用是声明使用简单的模板

3.         对于诸如用户和角色的多对多关系,通常使用s:optiontransferselect进行分配,这个标签的使用过程中会出现一个问题,能够将一边的数据添加到另一边,可是当我们submit的时候会发现jsp文件并没有将数据传送到后台的情况,这种情况的起因是我们没有选择要进行操作的数据,也就是说虽然表面上有进行操作,可实际上后台并没有捕捉到该操作。解决该问题的方式有:1:写脚本,selected=true2:手动选择要进行操作的数据3:该form标签为s:form标签

4.         通常情况下,我们需要在jsp文件中head里添加<s:head/>这一条语句,否则可能出现“行: 86537995,错误: 'StrutsUtils' 未定义”

5.         要使用struts标签库的时候首先需要在头文件中添加一个声明语句
<%@ taglib prefix="s" uri="/struts-tags"%>

6.         Script不能通过这种方式<srcipt/>使用,style同样的也是

7.         检查一个用户名是否存在的时候可能出现无法进行查找的情况,一般情况下是对应的对象未进行实例化,以至于出现setId方法无法找到的错误,这时只要在action中new一个实例就行了

8.         使用弹出窗口$.XYTipsWindow会出现窗口无法显示内容且点击它可能会跑掉的情况,这时就需要修改文档声明为
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

9.         设置页面自动跳转功能<meta http-equiv="refresh" content="0.1;url=login">
这条语句的作用是0.1秒后自动条转到url后缀名为login的页面中,该url也可以带参数传递,如:url=user/list?pageNo=1

10.     初始化bean失败的原因可能有:1,没有实现接口

11.     无法显示数据库的数据:查看是否添加struts标签库的声明
<%@ taglib uri=”struts-tags” prefix=”s”%>

12.     要显示数据库操作的sql语句,需要在application.xml文件中<prop name="hibernateProperties">的<props>添加一条语句<prop key="hibernate.show_sql">true</prop>

13.     Inverse=true,将控制权交给对方

14.      There is no action mapped for action name folder的可能解决方案

          1.  extends=”default”改为extends=”struts-default”

          2.  判断相应的名称是否正确定义

15.     对于空指针异常错误的情况f.getFolder().getFolderId()>0,最好改为
f.getFolder() != null && f.getFolder().getFolderId() > 0

16.     对于for(int i:list)这种循环需要首先判断是否list为空,否则可能报空指针异常错误

17.     在一个文件夹和子文件夹的结构中,folder和folders分别对应相应的一对多关系,要取得当前文件夹下的所有子文件夹可以使用from Floder as model where model.folder.id=? ,要查找第一级的文件夹,即没有父文件夹的所有文件夹可以通过model.folder is null答

18.     设定radio的默认值的时候<td><s:radio list="#{'共享':'共享','私有':'私有'}" name="folder.isshared" value="'私有'"></s:radio></td>,要注意value中的私有需要加上''符号,否则不能识别

19.     使用dwr的时候可能出现The content of element type "dwr" must match "(init?,allow?,signatures?)".的错误,解决方法是把create标签全部写进一个allow标签内

20.     在用户与角色和部门这个关系中,给用户分配多个角色时,若在s:iterator中迭代输出时可能输出多行一样的数据,要将多行数据改为一行显示则要在hibernate的配置文件中关于用户角色的这一行修改fetch=”select”,同时添加lazy=”false”,否则将会出现以下错误:failed to lazily initialize a collection of role:

21.     TBD:s:file标签在使用过程中会出现如果这次上传的文件在大小限制的范围之外的话,会自动加载上一次上传的文件????

 

原创粉丝点击