Struts+ibatis-学习总结一
1查询并返回list
|
别名映射->实体类:resultClass
|
|
<select id=" selectAll" resultClass="AppLog">
select
ID as id,
TYPE as type,
DESCR as descr
from APP_LOG
where ID = #id#
</select>
|
|
List list = sqlMapper.queryForList("selectAll");
for (int i = 0; i < list.size(); i ) {
AppLog log = (AppLog) list.get(i);
//add your code here;
}
|
|
别名映射->Map类:resultClass
|
|
<select id=" selectAll" resultClass="java.util.HashMap">
select
ID as id,
TYPE as type,
DESCR as descr
from APP_LOG
where ID = #id#
</select>
|
|
List list = sqlMapper.queryForList("selectAll");
for (int i = 0; i < list.size(); i ) {
Map map = (Map) list.get(i);
String id = (String) map.get("id");
String type = (String) map.get("type");
String descr = (String) map.get("descr");
//add your code here;
}
|
|
显式映射->实体类:resultMap
|
|
<resultMap id="AppLogResult" class="AppLog">
<result property="id" column="ID"/>
<result property="type" column="Type"/>
<result property="descr" column="DESCR"/>
</resultMap>
<select id="selectAll" resultMap="AppLogResult">
select * from APP_LOG
</select>
|
|
List list = sqlMapper.queryForList("selectAll");
for (int i = 0; i < list.size(); i ) {
AppLog log = (AppLog) list.get(i);
//add your code here;
}
|
|
显式映射->Map类:resultMap
|
|
<resultMap id="map-result" class="java.util.HashMap">
<result property="id" column="ID"/>
<result property="type" column="Type"/>
<result property="descr" column="DESCR"/>
</resultMap>
<select id="selectAll2" resultMap="map-result">
select * from APP_LOG
</select>
|
|
List list = sqlMapper.queryForList("selectAll2");
for (int i = 0; i < list.size(); i ) {
Map map = (Map) list.get(i);
String id = (String) map.get("id");
String type = (String) map.get("type");
String descr = (String) map.get("descr");
}
|
2,Unknown tag (c:forEach) 未知的标签
需要在
<%@ page language="Java" import="java.util.*" pageEncoding="utf-8"%>下面加一句
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
3<c:foreach>
<c:forEach>标签,需要与el表达式联合使用
<c:forEach>标签的语法定义如下所示。
<c:forEach var="每个变量名字" items="要迭代的list" varStatus="每个对象的状态"
begin="循环从哪儿开始" end="循环到哪儿结束" step="循环的步长">
循环要输出的东西
</c:forEach>
例如
<table border="1">
<tr><th>用户名</th> <th>密码</th> <th>操作</th></tr>
<c:forEach var="userlist" items="${userlist}">
<tr><th>${userlist.username}</th>
<th>${userlist.password}</th>
<th><a href="">修改</a> <a href="">删除</a> </th></tr>
</c:forEach>
</table>
4、request.setAttribute()和request.getAttribute()
2、request.setAttribute()和request.getAttribute()
set.jsp:
- <%@page contentType="text/html; charset=GB2312"%>
- <html>
- <head>
- <title>
- set.jsp file
- </title>
- </head>
- <body style="
- <%
- request.setAttribute("name","心雨");
- %>
- <jsp:forward page="get.jsp"/>
- </body>
- </html>

get.jsp:
- <%@page contentType="text/html; charset=GB2312"%>
- <html>
- <head>
- <title>
- get.jsp file
- </title>
- </head>
- <body style="
- <%
- out.println("传递过来的参数是:"+request.getAttribute("name"));
- %>
- </body>
- </html>

request.setAttribute()和request.getAttribute()是配合<jsp:forward>或是include指令来实现的。
5 jsp:useBean------
@ page language""=gb2312%>
<jsp:useBean id="user" scope="page" class="com.jsp.ch3.TestBean"/>
<jsp:setProperty name="user" property="*"/>
或者用以下,param可以不填写,其中param对应的是提交页面的表单name
<jsp:setProperty property="userName" name="user" param="userName"/>
<jsp:setProperty property="password" name="user" param="password"/>
<jsp:setProperty property="age" name="user" param="age"/>
<html>
<body>
注册成功:<br>
<hr>
使用Bean的属性方法<br>
用户名: =%><br>
密码: =%><br>
年龄: =%><br>
<hr>
使用getProperty<br>
用户名:<jsp:getProperty name="user" property="userName"/><br>
密码: <jsp:getProperty name="user" property="password"/><br>
年龄: <jsp:getProperty name="user" property="age"/>
客户端名称:=%>
</body>
</html>
6 input的不可编辑
disabled="disabled" 是不可以用,只是显示,在Struts2中并不能get input对应id的值;
readonly="readonly" 只读,不可编辑,但是Struts2中能获取值;
7
1.首先尝试修改表中的字段是否允许为NULL或设置为自增时出现一下提示

2.在工具->选项->Desigers->取消勾选“组织保存要求重新创建表的更改”

8安装多个jdk,配置环境变量时候,没有切换成功
需要在path中调换下jdk的位置,要排在program/orcal/..什么的前面;
9,JSON中,java.lang.NoClassDefFoundError: net/sf/ezmorph/Morpher问题
使用JSON,在SERVLET或者STRUTS的ACTION中取得数据时,如果会出现异常:java.lang.NoClassDefFoundError: net/sf/ezmorph/Morpher
是因为需要的类没有找到,一般,是因为少导入了JAR包,
使用JSON时,除了要导入JSON网站上面下载的json-lib-2.2-jdk15.jar包之外,还必须有其它几个依赖包:commons-beanutils.jar,commons-httpclient.jar,commons-lang.jar,ezmorph.jar,morph-1.0.1.jar
这几个包也是需要导入的.如果缺少里面的:ezmorph.jar包,则即出现上述异常
commons系列的包,可在网站:http://www.docjar.com/上面搜索下载,其它包可下载网站如下:
http://json-lib.sourceforge.net/
http://ezmorph.sourceforge.net/
http://morph.sourceforge.NET/
by :http://blog.csdn.Net/hzqcsds/article/details/7190250
10 JavaWeb项目中没有错,但是项目上面显示一个红叉的解决办法
出现这个问题的原因是因为,eclipse/myeclipse的jdk编译版本与出现问题的项目JDK编译版本不一致所导致!
方法/步骤
- 1
先设置好jdk,需要确定 项目,eclipse/myeclipse,系统 用的是同一个版本的JDK,我系统中安装的JDK是1.7,所以我把eclipse的jdk成1.7
- 2
进入 windows---proferences---java--compiler设置编译出来的文件使用的格式是 1.7版本的 (设置成多少都行,只要兼容,并且与你项目的编译版本一直就可以,我这里统一设置成1.7)
- 3
进入项目--properties---java Compiler 把项目编译版本也设置成 1.7
- 4
进入项目--properties---Myeclipse---project Facets设置java文件的版本为 1.7
- 5
Struts+ibatis-学习总结一的更多相关文章
- 【web开发学习笔记】ibatis学习总结
ibatis学习总结 ibatis数据库配置文件 <?xml version="1.0" encoding="UTF-8" ?> <!DOCT ...
- struts 2学习笔记—初学struts 2
首先我学习了struts 1.x与struts 2的区别: 1.struts 1.x的控制器类必须从Action类继承. 2.struts 2的控制器类可以是一个普通的类,也可以是ActionSupp ...
- ibatis 学习笔记 3 - pfpfpfpfpf的专栏 - 博客频道 - CSDN.NET
body { font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI ...
- ibatis学习笔记(完整)
1. Ibatis是开源软件组织Apache推出的一种轻量级的对象关系映射(ORM)框架,和Hibernate.Toplink等在java编程的对象持久化方面深受开发人员欢迎. 对象关系映 ...
- Spring+Struts+Ibatis的配置
指定Spring配置文件位置 <context-param> <param-name>contextConfigLocation</param-name> < ...
- Struts入门学习(一)
刚开始学习框架的时候感觉很简单,都是用到javaEE的相关框架,自己就想研究源码,但是学了很久之后毫无头绪,所以还是扎扎实实学好Struts毕竟框架做起来要比自己写javaEE要简单,下面我们就来一步 ...
- Spring+struts+ibatis(一)环境准备工作
首先我们先了解几个jar包的作用和一些未曾见过的接口和类 xwork-2.0.7.jar XWork是一个标准的Command模式实现,并且完全从web层脱离出来.Xwork提供了很多核心功能:前端拦 ...
- struts2,spring,ibatis学习
1.1 什么是struts2? MVC思想给网站设计带来了巨大的好处,但是MVC毕竟只是一种思想,不同的程序员写出来的基于MVC思想的应用,风格可能不一样.影响程序的标准化,Struts是为了规范MV ...
- Struts 2学习笔记——拦截器相关
一.添加国际化支持 默认的struts-deault.xml文件中已经定义了国际化拦截器,内容如下 <!-定义国际化拦截器--> <interceptor name="i1 ...
- IBatis学习
(1)建立 SqlMap.config文件 <?xml version="1.0" encoding="utf-8" ?> <sqlMapCo ...
随机推荐
- [图文] Fedora 28 使用 Virt-Manager 创建 KVM 虚拟机以及 配置 KVM 虚拟机
实验说明: 往后的许多实验都将以Linux平台下的 KVM虚拟机为主,所以不可少的就是 Virt-Manager 虚拟机管理器. 本章将对如何安装和使用Virt-Manager管理器进行讲解,并且会对 ...
- LeetCode1089复写零
问题: 给你一个长度固定的整数数组 arr,请你将该数组中出现的每个零都复写一遍,并将其余的元素向右平移. 注意:请不要在超过该数组长度的位置写入元素. 要求:请对输入的数组 就地 进行上述修改,不要 ...
- python操作Excel模块openpyxl
https://www.cnblogs.com/zeke-python-road/p/8986318.html # -*- coding: utf-8 -*-from openpyxl import ...
- Linux学习-Tarball 的管理与建议
使用原始码管理软件所需要的基础软件 从原始码的说明我们晓得要制作一个 binary program 需要很多咚咚的呢!这包括底下这些基础的软件: gcc 或 cc 等 C 语言编译程序 (compil ...
- Mysql登陆、退出、更改环境编码
登录: mysql -h[数据库地址] -u[username] -p[password] -P[端口] //大写P表示端口,小写p表示密码 例如:mysql -hlocalhost -uroot ...
- Http协议中的get和post
Http中post和get区别,是不是用get的方法用post都能办到? Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE.URL全称是资源描述符 ...
- 《小团团团队》第九次团队作业:Beta冲刺与验收准备
项目 内容 这个作业属于哪个课程 任课教师博客主页链接 这个作业的要求在哪里 实验十三 团队作业9:Beta冲刺与团队项目验收 团队名称 小团团团队 作业学习目标 (1)掌握软件黑盒测试技术:(2)学 ...
- Huawei比赛数据分析
如何评价2018年华为软件精英挑战赛赛题? https://www.zhihu.com/question/268448695 1.时间与时间戳之间的转换 https://blog.csdn.net/g ...
- react技术栈实践(2)
本文来自网易云社区 作者:汪洋 这时候还没完,又有两个问题引出来了. 按照上面的配置,第三方库 antd 竟然也被编译了,导致样式失败. react中,一旦包裹了子组件,子组件没办法直接使用 styl ...
- 如何理解redo和undo的作用
目录 如何理解redo和undo的作用 redo undo UNDO和REDO的区别 如何理解redo和undo的作用 redo 重做日志(redo)包含所有数据产生的历史改变记录,是oracle在线 ...