Posted by 唧唧 | tags:
Struts2
EL
乱码
今晚在配置Struts2环境的时候,遇见了中文乱码啦。配置了struts.i18n.encoding和SetCharacterEncodingFilter还是不行,最后发现如下规律:
Struts2标签和EL表达式混合使用会导致乱码:
如图所示,如果s2标签的值用el表达式代替的话,会导致中文乱码。
中文乱码 :<s:param name="el">${c.cname}</s:param>,但是如果${c.cname}直接在页面上显示出来的话,是不会乱码的!
中文正常 :<s:param name="cname"><s:property value="cname"/></s:param>
注意查看浏览器地址栏,虽然值一样,但是编码后都不同了:
运行 复制 保存 xhtml代码
< %@ page language = "java" contentType ="text/html; charset=utf-8" pageEncoding ="utf-8"% >
< %@ taglib prefix = "s" uri = "/struts-tags" % >
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd" >
< html >
< head >
< meta http-equiv = "Content-Type" content = "text/html; charset=utf-8" >
< title > Insert title here </ title >
</ head >
< body >
< s:iterator id = "c" value = "category" >
< s:url id = "url" action = "index" >
< s:param name = "cid" > ${c.cid} </ s:param >
< s:param name = "el" > ${c.cname} </ s:param >
< s:param name = "cname" > < s:property value = "cname" /> </ s:param >
</ s:url >
< s:a href = "%{url}" > ${c.cid}.${c.cname}. < s:property value = "cname" /> </ s:a >
</ s:iterator >
< br /> < br />
you chose:
cid =${param.cid} < br />
el =${param.el} < br />
cname =${param.cname} < br />
</ body >
</ html >
Posted by javawind | tags:
Struts
constant
properties
struts.xml 和struts.properties
其中struts.xml文件主要负责管理应用中的Action映射,以及该Action包含的Result定义等。除此之外,Struts 2框架还包含一个struts.properties文件,该文件定义了Struts 2框架的大量属性,开发者可以通过改变这些属性来满足应用的需求。
struts.properties文件是一个标准的Properties文件,该文件包含了系列的key-value对象,每个key就是一个Struts 2属性,该key对应的value就是一个Struts 2属性值。
struts.properties文件通常放在Web应用的WEB-INF/classes路径下。实际上,只要将该文件放在Web应用的CLASSPATH路径下,Struts 2框架就可以加载该文件。
其实,struts.properties文件的内容均可在struts.xml中以<constant name="" value=""></constant> 加载。
下面将该文件的配置参数详细列举出来,方便大家查看;
...
Posted by 唧唧 | tags:
Oracle
分页
排序
rownum
1、在ORACLE中,rownum是一个伪列,对于这个列,只能使用"<"或者"<="这两个操作符 ; 2、它一定是从1开始的,不能跨过1; 3、不能用:>,>=,=,Between...and。由于rownum是一个总是从1开始的伪列,Oracle 认为这种条件不成立,查不到记录。执行总是显示:未选定行。 如果要使用 >,>=,=,Between...and 操作符,可以使用子查询把rownum转为实际列: select namef from (select rownum r,namef from tablename)t where r > 10; select namef from (select rownum r,namef from tablename)t where r between 10 and 20; Oracle中的rownum的是在取数据的时候产生的序号,所以想对指定排序的数据去指定的rowmun行数据就必须注意了。 SQL> select rownum ,id,name from student order by name; ROWNUM ID NAME ---------- ------ --------------------------------------------------- 3 200003 李三 2 200002 王二 1 200001 张一 4 200004 赵四 可以看出,rownum并不是按照name列来生成的序号。系统是按照记录插入时的顺序给记录排的号,rowid也是顺序分配的。为了解决这个问题,必须使用子查询 SQL> select rownum,id,name from (select * from student order by name); ROWNUM ID NAME ---------- ------ --------------------------------------------------- 1 200003 李三 2 200002 王二 3 200001 张一 4 200004 赵四 这样就成了按name排序,并且用rownum标出正确序号。
Posted by 唧唧 | tags:
Oracle
Io异常
listener
Oracle Io异常: The Network Adapter could not establish the connection 今天刚上班,启动项目时总是报(Io异常: The Network Adapter could not establish the connection),昨天还好好的呢,今天怎么就不行了?使用 telnet 192.168.8.201 1521测试连不通,还以为是防火墙搞鬼;而跑到服务器上面关闭服务器防火墙还是不行,并且直接telnet 127.0.0.1 1521还是不通。到此可以确定是oracle的服务异常了。解决方法 :1、首先打开oracle配置和移植工具 --> Net manager --> 本地 --> 监听程序 -- > listener --> (TCP/IP协议的)网络地址 ---> 把主机那一项改为"localhost";然后点击:本地-->服务命名-->(TCP/IP协议的)网络地址 ---> 把主机名那一项改为"localhost"。2、点击"命令"菜单-->测试服务 ,却显示ORA-12541: TNS:no listener,如图:3、查看和启动监Ting器: 开始-->运行-->lsnrctl4、通过查看监Ting器状态给出解决办法 lsnrctl>status 正在连接到 *** TNS-12541: TNS:无监Ting器 TNS-12560: TNS: 协议适配器错误 TNS-00511: 无监Ting器 32-bit Windows Error: 2: No such file or directrory 正在连接到 *** TNS-12541: TNS:无监Ting器 TNS-12560: TNS: 协议适配器错误 TNS-00511: 无监Ting器 32-bit Windows Error: 61: Unknown error5、启动监Ting器 LSNRCTL> start 启动tnslsnr:请稍候...6、重试第2步骤,测试连接成功。
Posted by 唧唧 | tags:
传说中的1111四条柴光棍节就要来啦,而幸运的我却从来没有过过这个节日呢。
因为9年前的此时,俺非但不知道这个“节日”,反而正式“脱光”...
拍死想歪的人,是脱离光棍,不是脱光衣服!!!
所以,20091111,是俺恋爱9周年纪念日。
回望过去的9年,多少风风雨雨都过来了,自己也仿佛一夜长大了。感慨万千,人生竟然过得如此快,转眼间十年就过去了。明年,我就要携她之手,步入婚姻的殿堂,继续n个十年!
...
Posted by 唧唧 | tags:
CST
Date
日期
时间
下列代码可以实现把Java的CST格式的时间字符串转为为Date对象和所需要的日期时间格式!
String dateStr = "Wed Sep 16 11:26:23 CST 2009";
SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy", Locale.US);
//java.util.Date对象
Date date = (Date) sdf.parse(dateStr);
//2009-09-16
String formatStr = new SimpleDateFormat("yyyy-MM-dd").format(date);
System.out.println(formatStr);
//2009-09-16 11:26:23
String formatStr2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(date);
System.out.println(formatStr2);
...
Posted by 唧唧 | tags:
javawind
Resin
由于之前的服务器使用期限即将到期,本周一直都在找服务器存在javawind网站系列。最终有幸得到泡一泡吧(http://www.p1p8.cn )站长冰冰的赞助,本站才得以继续开放。特此致谢!
在服务器安装Java应用时,由于操作失误和Resin4.0.1的不稳定性,导致了IIS停机三个小时,p1p8等网站停止服务,对此给很多访客造成不变,以表歉意!
现在服务器运行环境:windows server 2003 + IIS + jdk1.6 + Resin pro 3.1.9 + MySQL 5.0.67
...
Posted by 唧唧 | tags:
php
IIS
FastCGI
最近要帮朋友修改一些php程序,而自己一直从事java/jsp开发工作,虽然早前配置过几次php环境,毕竟都是过去了。
今晚按照以往的经验去安装php5.3.0,结果折腾了一个小时才解决!
PHP For Windows:
http://windows.php.net/download/
...
Posted by 唧唧 | tags:
上班
公交
最痛苦的事情是啥?上班...
比上班还痛苦的事情是啥?挤公交车上班...
比挤公交车上班还痛苦的事情是啥?挤公交车的时候挤在门口...
比挤公交车的时候挤在门口还痛苦的事情是啥?开门的时候被夹到脚了!!!
挤公交车上班的日子已经有一年多了,挤在门口是常有的事情,偶尔还出现了几次车门夹住乘客的脚的情况,痛的乘客大叫!那时觉得是件搞笑的事情。
于是,今天终于夹到我了,那个痛呀,我也忍不住大叫:“司机,快关门!!夹住脚了,要不我的脚就要废了!!”完全失态了,哎!
...
Posted by 唧唧 | tags:
SQL
Excel
xls
用法: bcp {dbtable | query} {in | out | queryout | format} 数据文件
[-m 最大错误数] [-f 格式化文件] [-e 错误文件]
[-F 首行] [-L 末行] [-b 批大小]
[-n 本机类型] [-c 字符类型] [-w 宽字符类型]
[-N 将非文本保持为本机类型] [-V 文件格式版本] [-q 带引号的标识符]
[-C 代码页说明符] [-t 字段终止符] [-r 行终止符]
[-i 输入文件] [-o 输出文件] [-a 数据包大小]
[-S 服务器名称] [-U 用户名] [-P 密码]
[-T 可信连接] [-v 版本] [-R 允许使用区域设置]
[-k 保留空值] [-E 保留标识值]
[-h"加载提示"] [-x 生成 xml 格式化文件]
实例:
运行 复制 保存 sql代码
EXEC sp_configure ´show advanced options´, 1
RECONFIGURE
EXEC sp_configure ´xp_cmdshell´, 1
RECONFIGURE
EXEC master..xp_cmdshell ´bcp pcoa.dbo.OA_AddressList out d:\ temp .xls -c -q -S "127.0.0.1" -U "sa" -P "sa" ´
EXEC sp_configure ´show advanced options´, 1
RECONFIGURE
EXEC sp_configure ´xp_cmdshell´, 0
RECONFIGURE
其中:pcoa.dbo.OA_AddressList pcoa是指数据库名字,OA_AddressList是需要导出的表名字;
后面的 127.0.0.1 sa sa 分别指数据库地址和登录帐号和密码。
...