• 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:

    1. <%@page contentType="text/html; charset=GB2312"%>  
    2. <html>  
    3.     <head>  
    4.         <title>  
    5.             set.jsp file  
    6.         </title>  
    7.     </head>  
    8.   
    9.     <body style="  
    10.         <%  
    11.             request.setAttribute("name","心雨");  
    12.         %>  
    13.         <jsp:forward page="get.jsp"/>  
    14.     </body>  
    15. </html>  

    get.jsp:
    1. <%@page contentType="text/html; charset=GB2312"%>  
    2. <html>  
    3.     <head>  
    4.         <title>  
    5.             get.jsp file  
    6.         </title>  
    7.     </head>  
    8.   
    9.     <body style="  
    10.         <%  
    11.             out.println("传递过来的参数是:"+request.getAttribute("name"));  
    12.         %>  
    13.     </body>  
    14. </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

    Java compiler level does not match解决方法

    1. 2

      进入 windows---proferences---java--compiler设置编译出来的文件使用的格式是 1.7版本的 (设置成多少都行,只要兼容,并且与你项目的编译版本一直就可以,我这里统一设置成1.7)

      Java compiler level does not match解决方法
    2. 3

      进入项目--properties---java Compiler 把项目编译版本也设置成 1.7

      Java compiler level does not match解决方法
    3. 4

      进入项目--properties---Myeclipse---project Facets设置java文件的版本为 1.7

      Java compiler level does not match解决方法
    4. 5
  • 相关阅读:
    008——MATLAB-xlswrite的使用方法
    006——转载-MATLAB数字与字符之间的转换
    013——C# chart控件时间作为X轴(附教程)
    012——C#打开ecxel修改数据(附教程)
    010——C#选择文件路径
    011——C#创建ecxel文件(附教程)
    009——C#全局变量定义
    008——转载——c#获取当前日期时间
    007——转载——C#将字符串转换为整型的三种方法的总结
    006——C#关闭窗口 添加FormClosing事件
  • 原文地址:https://www.cnblogs.com/manmanlu/p/6866124.html
Copyright © 2020-2023  润新知