J2EE进阶(十二)SSH框架整合常见问题汇总(三)
在挂失用户时,发现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框架整合常见问题汇总(三)的更多相关文章
- J2EE进阶(十)SSH框架整合常见问题汇总(一)
SSH框架整合常见问题汇总(一) 前言 以下所列问题具有针对性,但是遇到同类型问题时均可按照此思路进行解决. HTTP Status 404 - No result defined for actio ...
- J2EE进阶(十一)SSH框架整合常见问题汇总(二)
org.hibernate.PropertyAccessException: IllegalArgumentException occurred while calling setter of cn. ...
- J2EE进阶(七)利用SSH框架根据数据表建立model类
J2EE进阶(七)利用SSH框架根据数据表建立model类 前言 在利用SSH框架进行项目开发时,若将数据库已经建好,并且数据表之间的依赖关系已经确定,可以利用Hibernate的反转功能进行mode ...
- SSH框架整合截图总结(三)
联系人信息查询1 点击 联系人信息查询 超链接时候,到查询页面 (1)在查询页面中,选择客户,根据客户进行查询 下拉表框显示所有客户 可以根据所属的客户进行联系人查询 2 在查询页面中,输入值,提 ...
- J2EE进阶(十八)基于留言板分析SSH工作流程
J2EE进阶(十八)基于留言板分析SSH工作流程 留言板采用SSH(Struts1.2 + Spring3.0 + Hibernate3.0)架构. 工作流程(以用户登录为例): 首先是用 ...
- JavaWeb_(SSH论坛)_二、框架整合
基于SSH框架的小型论坛项目 一.项目入门 传送门 二.框架整合 传送门 三.用户模块 传送门 四.页面显示 传送门 五.帖子模块 传送门 六.点赞模块 传送门 七.辅助模块 传送门 导入Jar包 导 ...
- SSH框架整合
SSH框架整合 一.原理图 action:(struts2) 1.获取表单的数据 2.表单的验证,例如非空验证,email验证等 3.调用service,并把数据传递给service Service: ...
- J2EE进阶(十四)超详细的Java后台开发面试题之Spring IOC与AOP
J2EE进阶(十四)超详细的Java后台开发面试题之Spring IOC与AOP 前言 搜狐畅游笔试题中有一道问答题涉及到回答谈谈对Spring IOC与AOP的理解.特将相关内容进行整理. ...
- ssh框架整合之登录以及增删改查
1.首先阐述一下我用得开发工具,myeclipse2017+oracle,所以我的基本配置步骤可能不一样,下面我用几张图来详解我的开发步骤. ---1先配置structs (Target 选择apac ...
随机推荐
- shell 报错:syntax error: unexpected end of file
有时执行脚本时会报错: [root@host1 shell]# sh -x test.sh + $'\r' : command not found test.: syntax error: unexp ...
- 【Git】Git工具常用命令
GitHub使用指南 一.把本地代码上传到GitHub 0. 提前配置好上传地址 [git config --global user.name "username"] [git c ...
- Java Servlet 笔记4
Servlet 客户端 HTTP 请求 当浏览器请求网页时,它会向 Web 服务器发送特定信息,这些信息不能被直接读取,因为这些信息是作为 HTTP 请求的头的一部分进行传输的. 读取 HTTP 头的 ...
- mysql免安装版下载及配置教程
第一步:下载 下载地址:http://dev.mysql.com/downloads/mysql/ 滚动到下方就能看到了,根据自己的需求下载: 我的电脑为64为的所以下载的为 Windows (x86 ...
- php+xdebug+dbgp远程调试(多人)
目录 创建 DBGP 服务 配置 调试 创建 DBGP 服务 到 下载页面,下载 python 版本的 dbgp 到服务器上. 解压后执行 pydbgpproxy. 如果提示找不到 dbgp 模块,则 ...
- JAVAEE——BOS物流项目10:权限概述、常见的权限控制方式、apache shiro框架简介、基于shiro框架进行认证操作
1 学习计划 1.演示权限demo 2.权限概述 n 认证 n 授权 3.常见的权限控制方式 n url拦截权限控制 n 方法注解权限控制 4.创建权限数据模型 n 权限表 n 角色表 n 用户表 n ...
- js ==与===区别
//全等===和相等==的区别 console.log(100 === '100');//false console.log(100 == '100');//true 1.对于string,numbe ...
- 【问底】徐汉彬:亿级Web系统搭建——单机到分布式集群
http://www.csdn.net/article/2014-11-06/2822529/3 大规模流量的网站架构,从来都是慢慢"成长"而来.而这个过程中,会遇到很多问题,在不 ...
- GC其他:引用标记-清除、复制、标记-整理的说明
对象死亡历程 1.基本的mark&sweep是必须的,后续的都是对他的改进, 2.young代理的survivor就是使用了复制算法,避免碎片 3.还有标记整理算法(压缩),就是将存活的对象移 ...
- promise应用及原生实现promise模型
一.先看一个应用场景 发送一个请求获得用户id, 然后根据所获得的用户id去执行另外处理.当然这里我们完全可以使用回调,即在请求成功之后执行callback; 但是如果又添加需求呢?比如获得用户id之 ...