在挂失用户时,发现userid值为空,但是在前台输入处理账号22时,通过后台输出可以看出,后台根据前端输入在数据库中查询到结果对象并输出该对象的userid,而且Guashi对象也获取到了其值。

解决

初步判定,程序没有问题,还是应该出在配置文件方面。对照视频,果然发现了端倪!在User.hbm.xml文件内,User与Guashi间的关系应如下:

<one-to-one name="guashi" class="cn.edu.ujn.model.Guashi"
property-ref="user"></one-to-one>

在Guashi.hbm.xml文件内,Guashi与User间的关系应如下:

<many-to-one name="user" class="cn.edu.ujn.model.User" fetch="select" 	unique="true">
    	<column name="userid" />
</many-to-one>

想要彻底搞懂这些问题,应深入了解Hibernate的数据表处理机制。

org.apache.jasper.JasperException: tag 'select', field 'list', name 'flower.catalog.catalogid': The requested list key '#catalog' could not be resolved as a collection/array/map/enumeration/iterator type. Example: people or people.{name} - [unknown location]

    解决

相应代码为:

<s:set value="#request.catalogs" id="catalog"></s:set>
<s:select label="分类" list="#catalog" listKey="catalogid" listValue="catalogname" name="flower.catalog.catalogid"
    	   value="%{#flower.catalog.catalogid}">
</s:select>

userlist为空(是否为空可以通过Struts2的<debug/>标签显示的堆栈中查看,查找一下为什么为空吧。

一般情况可能是:

1、在Action类中没有给userlist变量生成get/set方法,

2、提交请求时并没有调用到对应的Action类,

3、userlist变量没有赋值成功(比如没有new、从数据库查询值的时候返回空等)

4、你的底层配置有问题(比如未导入jdbc包到项目)

   1.

<action name="catalogAction" class="catalogAction" method="browseCatalog">
<result name="success">/menu.jsp</result>
</action>

在只有Struts框架时,class中的值为action所在包的全路径;在SSH整合框架及与Spring整合的框架中,其值可以为applicationContext.xml文件中配置的action的ID,然后依据其class属性确定其包所在类。如下所示:

<bean id="catalogAction" class="cn.edu.ujn.action.CatalogAction">
<property name="catalogService" ref="catalogService"></property>
</bean>

2.在jsp中,人民币符号:¥

3.<div style="clear: both;">中clear: both;其具体应用详见博文《网站开发进阶(四十二)巧用clear:both》。

4.数据类型Integer与int的区别:详见博文《Java进阶(三十四)Integer与int的种种比较你知道多少?》、《Java进阶(三十五)java int与integer的区别》。

5.<s:form action="XX.action"> 与 <s:form action="XX"> 的区别

如果不是用struts2的标签,是用html标签的话,就要在action名后加上个.action,也就是XXX.action。

如果使用struts2的标签的话,action名里就不用再加上个.action了。也就是XXX就可以了,struts2标签已经默认帮你加好了,你就不需要自己另外加了。

美文美图



J2EE进阶(十二)SSH框架整合常见问题汇总(三)的更多相关文章

  1. J2EE进阶(十)SSH框架整合常见问题汇总(一)

    SSH框架整合常见问题汇总(一) 前言 以下所列问题具有针对性,但是遇到同类型问题时均可按照此思路进行解决. HTTP Status 404 - No result defined for actio ...

  2. J2EE进阶(十一)SSH框架整合常见问题汇总(二)

    org.hibernate.PropertyAccessException: IllegalArgumentException occurred while calling setter of cn. ...

  3. J2EE进阶(七)利用SSH框架根据数据表建立model类

    J2EE进阶(七)利用SSH框架根据数据表建立model类 前言 在利用SSH框架进行项目开发时,若将数据库已经建好,并且数据表之间的依赖关系已经确定,可以利用Hibernate的反转功能进行mode ...

  4. SSH框架整合截图总结(三)

    联系人信息查询1 点击 联系人信息查询 超链接时候,到查询页面 (1)在查询页面中,选择客户,根据客户进行查询 下拉表框显示所有客户  可以根据所属的客户进行联系人查询  2 在查询页面中,输入值,提 ...

  5. J2EE进阶(十八)基于留言板分析SSH工作流程

    J2EE进阶(十八)基于留言板分析SSH工作流程   留言板采用SSH(Struts1.2 + Spring3.0 + Hibernate3.0)架构.   工作流程(以用户登录为例):   首先是用 ...

  6. JavaWeb_(SSH论坛)_二、框架整合

    基于SSH框架的小型论坛项目 一.项目入门 传送门 二.框架整合 传送门 三.用户模块 传送门 四.页面显示 传送门 五.帖子模块 传送门 六.点赞模块 传送门 七.辅助模块 传送门 导入Jar包 导 ...

  7. SSH框架整合

    SSH框架整合 一.原理图 action:(struts2) 1.获取表单的数据 2.表单的验证,例如非空验证,email验证等 3.调用service,并把数据传递给service Service: ...

  8. J2EE进阶(十四)超详细的Java后台开发面试题之Spring IOC与AOP

    J2EE进阶(十四)超详细的Java后台开发面试题之Spring IOC与AOP 前言   搜狐畅游笔试题中有一道问答题涉及到回答谈谈对Spring IOC与AOP的理解.特将相关内容进行整理.    ...

  9. ssh框架整合之登录以及增删改查

    1.首先阐述一下我用得开发工具,myeclipse2017+oracle,所以我的基本配置步骤可能不一样,下面我用几张图来详解我的开发步骤. ---1先配置structs (Target 选择apac ...

随机推荐

  1. easyui datagrid 得到冻结列跟非冻结列

    var head = $('#ClassManagement').datagrid("options").columns; var fhead=$('#ClassManagemen ...

  2. 移动端web开发中对点透的处理,以及理解fastclick如何做到去除300ms延迟

     一.点透问题以及处理办法 开发中遇到一个问题,就是点击layer弹出框的取消按钮之后,按钮下方的click事件就直接触发了.直接看代码: $('.swiper-slide').on('click', ...

  3. Java不走弯路教程(前言)

    本教程的程序基于Windows开发,所以你需要有一台安装Windows操作系统的电脑. 前言本教程将带你完成Java的初学和WEB框架的开发,学完本教程,你将完成对Java的入门并且对下一步不再迷茫. ...

  4. 06 Nexus仓储/基础设施 - DevOps之路

    06 Nexus仓储/基础设施 - DevOps之路 文章Github地址,欢迎start:https://github.com/li-keli/DevOps-WiKi Nexus仓储官网简介: Th ...

  5. 检测linux vps是xen openvz还是kvm的方法

    很多时候不知道自己买的vps是那种虚拟化技术,怕给商家忽悠了,下面给大家介绍下怎么简单的判断自己vps的虚拟化技术. 1.通过系统上的相关目录或文件判断 ll /proc/   ps: /proc目录 ...

  6. ACM Let the Balloon Rise

    Contest time again! How excited it is to see balloons floating around. But to tell you a secret, the ...

  7. 基于Java配置Spring加Hibernate和再加SpringData时的差别

    先在类路径application.properties jdbc.driverClassName = org.postgresql.Driver jdbc.url = jdbc:postgresql: ...

  8. Bootstrap3 表格-鼠标悬停

    通过添加 .table-hover 类可以让 <tbody> 中的每一行对鼠标悬停状态作出响应. <table class="table table-hover" ...

  9. Django 缓存模块 page_cache 源码阅读

    Django cache中比较常用的有 cache_page 这么个 decorators, 下面就根据请求流程,结合源码来说说它是怎么工作的? 版本是django1.8,不同版本可能函数等会变化,逻 ...

  10. Linux测量kernel子模块加载时间的方法

    1. 在文件kernel/init/main.c里面,在接口do_one_initcall( )中,将initcall_debug设置为true,然后编译boot.img 2. 使用adb shell ...