摘要: 1、收邮件时附件名称为中文时 附件名称为中文时,需要用MimeUtility.decodeText(filename)来解码,这样显示出来的就是正确的中文了 2、附件提供下载时在IE的保存对话框中显示的文件名的中文问题 附件名称显示正确后,点击链接开始下载,IE弹出下载对话框时,还需要将转换好的GB2312码换成ISO8859码,否则 IE的保存对话框中显示的默认文件名还是乱码 如下: Stringfilename=p.getFileName();filename=MimeUtility.decodeText(filename);//再将中文转换为ISO编码送给浏览器WebToolkitmyk 阅读全文
posted @ 2011-03-19 09:59 super119 阅读(260) 评论(0) 推荐(0) 编辑
摘要: Struts是Apache Group的一个优秀的MVC的前台框架,目前也使用的非常广泛。 但仅仅停留在使用的层次上是没有挑战性的,研究其源码才是真正乐趣所在。 本文以一个很小的例子入手,将这个例子中牵涉到的Struts源码做了一次剖析, 豁然发现就在这个不起眼的例子中,也有许多值得学习的东西,故将其整理成文,目的旨在抛砖引玉,希望有兴趣者同乐。 本文的例子就来自Struts自带的一个Example(struts-example.war)。在这个例子中的第一个JSP(index.jsp),一开始就有这样的一段代码: ======================================= 阅读全文
posted @ 2011-03-19 09:58 super119 阅读(411) 评论(0) 推荐(0) 编辑
摘要: Struts中非常常用的有这样的一个标签: <bean:message key="welcome.title"/> 众所周知,这个标签做的事情是这样的:访问在struts-config.xml中定义的资源文件,一般是 application.properties,一般是这样定义的: < message-resources parameter="resources.application"/> 根据以上的定义,Struts将到WEB-INF/classes/resource/下去找application.properties文件,这 阅读全文
posted @ 2011-03-19 09:58 super119 阅读(622) 评论(0) 推荐(0) 编辑
摘要: 初学Struts,写了一个很简单的应用,主要功能和页面如下: 1、首页显示一个“添加新用户”的链接,点击该链接出发一个forward动作,页面导向到添加用户的jsp页面 2、添加用户的jsp页面中,可供用户输入“用户名”和“用户描述”两项 3、用户输入完毕,将做输入数据合法性检查,检查通过,将输入信息保存进入文件(使用了Properties类),然后返回首页;检查失败返回添加用户页面 4、数据合法性检查分成两块,第一部分检查条件使用Struts的Validator,检查条件配置在Validator.xml中;第二部分检查放在ActionForm中, 检查失败将错误信息置入ActionError 阅读全文
posted @ 2011-03-19 09:57 super119 阅读(451) 评论(0) 推荐(0) 编辑
摘要: Struts中的html:link标签是一个很常用的标签,其功能也比较明显:生成<a href="yoururl"></a>这样的HTML代码 在刚开始接触这个标签的时候,我知道这个标签可以这样用: ========================================================= Code: Select all<html:link page="/html-link.do" paramId="stringProperty" paramName="newValue 阅读全文
posted @ 2011-03-19 09:55 super119 阅读(224) 评论(0) 推荐(0) 编辑
摘要: logic:Iterator标签(以下简称“该标签”)是Struts里非常常用的一个标签,其作用在于循环显示给定容器对象中的值 如此常用的标签,其源代码当然需要拿出来研究一下,以下列举几条研究成果: 1、该标签内部使用Collection来表示给定的容器,所有的给定容器对象(如ArrayList,Map等)都会被其转化成为Collection 2、该标签自己维护循环索引 3、该标签常见的几个属性如下: name、property、scope、id 4、结合以上标签,给出一段源代码来解释其工作的机理 这段源代码中,一开始就可以看到这样一句: collection = TagUtils.getIn 阅读全文
posted @ 2011-03-19 09:55 super119 阅读(258) 评论(0) 推荐(0) 编辑
摘要: Struts里的html:Cancel标签是在Form中经常运用的一个标签,主要功能就是cancel当前Form,一般写法如下: ======================================================= Code: Select all<html:cancel> <bean:message key="createuser.cancelbutton"/> </html:cancel>=======================================================这个标签将生 阅读全文
posted @ 2011-03-19 09:54 super119 阅读(321) 评论(0) 推荐(0) 编辑
摘要: session是WEB编程中经常会用到的东西。 一般情况下,我们可以认为session是和浏览器相关的,在一个浏览器中登录获得session后,新打开一个浏览器是无法获得那个浏览器的session的,那现在问题是,如果在test1.jsp中有这样一个超链接: <a href = "test2.jsp" target = _blank> 这样,会打开一个新窗口显示test2.jsp,那么test1.jsp中的session在test2.jsp中还存在么? 实验结果:存在,可以正常使用 例如test1.jsp中有如下语句: session.setAttribute( 阅读全文
posted @ 2011-03-19 09:53 super119 阅读(149) 评论(0) 推荐(0) 编辑
摘要: log4j.rootLogger=info, stdout, R log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout # Pattern to output the caller's file name and line number. log4j.appender.stdout.layout.ConversionPattern=[%p]%d{yyyy-MM-dd HH:mm:ss,SSS} [%F:%L] % 阅读全文
posted @ 2011-03-19 09:51 super119 阅读(215) 评论(0) 推荐(0) 编辑
摘要: 数据库操作是应用中最多的一个操作,代码也非常冗余,取得连接-建立statement-查询-释放所有资源,所以,这里做了一个基类,见下。 另外,此次基类的设计有一个心得,就是基类中只能设计成抛出异常,不能将异常处理的try/catch代码也放在基类中,虽然这样作,给将来的继 承类带来一些try/catch的代码的工作量,但还是十分必要的。因为如果将try/catch的代码都放在基类中,那么,可能会出现以下的一些问题: 1、以后的应用只要数据库操作异常,那么我们记录的日志中所出现的就都是基类的文件名,无法定位到具体是哪个实现类。这对于一个动作要牵动到很多实现类的时候,就不知道到底是那个实现步骤(实 阅读全文
posted @ 2011-03-19 09:50 super119 阅读(516) 评论(0) 推荐(0) 编辑
摘要: 前期阅读了Struts的UserGuide和相关的一些文档,开始动手做Struts的开发 例子很简单,就是做一个登录的过程,参考了文档和Struts的一些Example的代码,总结了以下几点: 1、能用struts的标签的HTML代码最好都用struts的标签来代替。因为struts的标签一般都提供将相对路径转换为绝对URL的功能,这样可以保证css,图片等资源被100%找到 2、 <html:base/>标签最好用上,因为这样做了之后,就可以保证在一些无法用struts标签代替的HTML代码中的资源路径的引用是 正确的。如<link ...>这样的HTML,还有< 阅读全文
posted @ 2011-03-19 09:49 super119 阅读(271) 评论(0) 推荐(0) 编辑
摘要: Struts 中html:button、html:submit、html:cancel等标签,这些tag的各项属性中都没有一项是用来国际化的,说白一点就是没有 一个属性是可以给我们填message resource的key的,这就给国际化带来了问题,因为这些都是按钮,按钮上的文字不可能我们手动在代码中通过value这项属性来写死。 有了问题,就要查struts的资料和他的example,发现了原来要这样解决:<html:submitproperty="submit"styleClass="bottonyellow"><bean:mess 阅读全文
posted @ 2011-03-19 09:48 super119 阅读(1086) 评论(0) 推荐(0) 编辑