服务于区块链开拓者

www.zhidnet.com

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

随笔分类 -  struts

摘要:用 apache commons-email 轻松发送无乱码邮件(转)原来项目中都是自己拿到 mail.jar 和 activation.jar 两个包编写发送Email的代码,虽然不难,但也有些麻烦。现在好了,在 apache 站点有一个 jarkata/commons/email 子项目,也为我们实现了发送 Email 的功能,在 http://jakarta.apache.org/commons/email/ 把包 commons-email-1.0.jar 下来,自己要写的代码就十分少了,并且非常明了。这个包的大小只有23K,也就是9个类而已,却能让您省不少事。还需要mail.jar& 阅读全文
posted @ 2013-10-10 15:56 知点网 阅读(792) 评论(0) 推荐(0)

摘要:写JSP程序时,在Servlet中取请求参数时出现了乱码,当然,这种乱码问题再简单不过了。由于在JSP中使用了GBK作用页面的编码,那么提交的中文信息自然也会被按着GBK进行编码,为%xx格式的GBK编码。 要解决这个问题可以说是方法多多。最简单的就是使用request.setCharacterEncoding方法设置编码格式,如下面的代码所示:request.setCharacterEncoding("GBK"); 在设置完编码格式之后,就可以直接通过request.getParameter方法来获得请求参数中的中文信息了。当然,为了方便,还可以在过滤器中加入上面的语句, 阅读全文
posted @ 2013-10-10 15:32 知点网 阅读(2688) 评论(1) 推荐(0)

摘要:json插件可以简单的实现ajax交互,避免了使用struts2-dojo-plugin.jar包时带来的struts2.x版本冲突问题。并且减少了使用ajax标签时需要的繁琐的配置包括web.xml中对dwr的servlet配置以及weib-inf下的dwr.xml文件的配置和多包的导入问题。最重要的是可以使用json这种数据交互格式可以将action中的状态信息格式化成json数据格式。然后返回到当前页面中,在当前页面中访问json对象中的属性,从而获得action中的所有状态信息。在是json时一定要注意按钮的单击事件触发的是js函数,通过js函数来将form提交到指定的action。此 阅读全文
posted @ 2013-07-30 00:20 知点网 阅读(459) 评论(0) 推荐(0)

摘要:在使用ajax主题时出现上述错误的解决办法是将form表单中的action属性值改为*.action后就可以解决。至于为什么会这样不太明白。但是修改action的属性值以后就会出现另一个错误即 对应的action 的result没找到的错误。此时应该把form表单是namespace属性去掉并且再次修改action的属性值为action=namesapce+actionName.action这样一来就可以同时解决上述出现的连带错误。 阅读全文
posted @ 2013-07-26 10:55 知点网 阅读(452) 评论(0) 推荐(0)

摘要:struts2.1.8 必须在struts.xml中配置namespace属性如果你在2.0中一切OK,但是在2.1中确出现了No result defined for action的异常,就是在因为在2.1中有一个插件struts2-convention-plugin-2.1.8.jar,这个插件是2.1版本中新添加的默认核心包,这个插件是实现Struts2的零配置,必须引入namespace命名空间,否则就会出现刚才的No result defined for action的异常这里需要补充的事,其中也有一种可能:假如你的浏览器是中文优先(浏览器的“语言”选项中可以设置的),而其中有一个表 阅读全文
posted @ 2013-07-26 10:29 知点网 阅读(1727) 评论(0) 推荐(0)

摘要:Struts2 Ajax出现错误“Template /template/ajax/head.ftl not found”2013-02-08 18:26:27|分类:默认分类|字号订阅在核心包的目录:struts2-core-2.1.8.1\template下查看有哪些主题theme可用:我的如图:故而,用theme="ajax"肯定出错,因为根本就没有"ajax"这个主题文件存在。其中,css_xhtml、simple、xhtml中的文件格式为.ftl,这是视图FreeMarker默认的模板文件名后缀。xhtml是默认的主题。------------- 阅读全文
posted @ 2013-07-25 23:34 知点网 阅读(806) 评论(0) 推荐(0)

摘要:级联标签是使用:一级下拉框应该使用map对象的key集合作为下拉框元素,二级下了框应该使用一级下拉框对应的选择值自动的弹出待选择的元素值(集合)页面代码如下: 常用于在jsp页面中遍历输出map结果集并且将map中的对于值放入下拉列表中。在jsp页面中获得map对象要用到ognl表达式#mymap[key]复选框使用:主要是listkey和listvalue的使用通过这两个属性可以将map中的key和value用作复选框的value和标签 阅读全文
posted @ 2013-07-05 11:10 知点网 阅读(251) 评论(0) 推荐(0)

摘要:OGNL表达式struts2标签“%,#,$”一、什么是OGNL,有什么特点? OGNL(Object-GraphNavigationLanguage),大概可以理解为:对象图形化导航语言。是一种可以方便地操作对象属性的开源表达式语言。OGNL有如下特点: 1、支持对象方法调用,形式如:objName.methodName(); 2、支持类静态的方法调用和值访问,表达式的格式为@[类全名(包括包路)]@[方法名|值名],例如: @java.lang.String@format('foo%s','bar')或@tutorial.MyConstant@APP_NAM 阅读全文
posted @ 2013-07-05 11:02 知点网 阅读(803) 评论(0) 推荐(0)

摘要:OGNL, JSTL, STRUTS2标签中符号#,$,%的用法示例取Session中的值${session.user.userId}${sessionScope.user.userId}基本语法一、EL简介1.语法结构${expression}2.[]与.运算符EL 提供.和[]两种运算符来存取数据。当要存取的属性名称中包含一些特殊字符,如.或?等并非字母或数字的符号,就一定要使用 []。例如:${user.My-Name}应当改为${user["My-Name"] }如果要动态取值时,就可以用[]来做,而.无法做到动态取值。例如:${sessionScope.user[ 阅读全文
posted @ 2013-07-04 10:08 知点网 阅读(1072) 评论(0) 推荐(0)

摘要:权限控制拦截器是针对需要权限控制的的action所设定的特定的拦截器,避免了在action执行之前重复调用代码。类似与AOP原则可以增强代码的复用性,在特定的 切入点进行权限的控制并且是自动完成的不用action开发人员手动的调用。登陆跳转实例如下:登陆的action代码如下:public String execute() throws Exception {ActionContext actionContext=ActionContext.getContext();Map session=actionContext.getSession();if(this.getUsername().equ 阅读全文
posted @ 2013-07-02 10:09 知点网 阅读(1722) 评论(0) 推荐(0)

摘要:方法过滤拦截器是只过滤指定的方法,如果使用针对action 的普通的过滤器则会过滤该action内部 所有方法。如果在一个action中同时有多个作为业务逻辑控制的方法存在 的话则会过滤所有的业务逻辑控制方法。当然在一个action中出现超过一个业务逻辑控制方法是不推荐的,也是不符合编码规范的但是这样的形式是可以存在的。为了避免这样的bug采用方法过滤器是最佳选择。配置文件为:/success.jsp/login.jspsecondexecuteexecute方法过滤器类代码如下:package com.inspur.interceptor;import java.util.Date;impo 阅读全文
posted @ 2013-07-01 16:48 知点网 阅读(315) 评论(0) 推荐(0)

摘要:配置文件如下:<package name="download" extends="struts-default" namespace="/"> <default-action-ref name="download"></default-action-ref> <action name="download" class="com.inspur.action.FileDownloadAction" method="downloa 阅读全文
posted @ 2013-04-18 10:19 知点网 阅读(502) 评论(0) 推荐(0)

摘要:在upload.jsp页面中将多个文件域对象命名为相同的名字,这样在action中就可以将多个文件域解析成一个数组,数组的大小就是文件域的个数,同时一个文件域解析成三个对应的变量,因此多个文件域对应三个数组,其中每个数组的大小就是文件域的个数。jsp页面代码如下: <form action="upload.action" name="uploadForm" method="post" enctype="multipart/form-data"> 文件标题:<input type="tex 阅读全文
posted @ 2013-04-17 11:20 知点网 阅读(411) 评论(0) 推荐(0)

摘要:文件上传的action,同时过滤上传的文件格式只对满足要求的格式支持上传package com.inspur.action;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import org.apache.struts2.ServletActionContext;import com.opensymphony.xwork2.ActionContext;import com.opensymphony.xwork2.ActionSupport;public class Uploa 阅读全文
posted @ 2013-04-16 22:37 知点网 阅读(236) 评论(0) 推荐(0)

摘要:Struts2中的数据类型转换以及自定义数据类型转换器,数据类型转换错误的错误流输出局部类型转换器注册,全局类型转换器注册,数据校验自定义类型转换器:package com.inspur.util;import java.util.ArrayList;import java.util.List;import java.util.Map;import com.inspur.po.User;import org.apache.struts2.util.StrutsTypeConverter;public class UserConverter extends StrutsTypeConverter 阅读全文
posted @ 2013-04-16 14:03 知点网 阅读(196) 评论(0) 推荐(0)

摘要:Struts2可以实现在同一个action中通过多个方法实现在配置文件中配置出多个逻辑的action,通过在js中给各个button添加onclick方法调用实现提交到不同的action。可以实现多个按钮的动态提交。并且可以通过在action中设置参数属性在struts.xml文件中的result中配置表达式来动态跳转到不同的逻辑视图package com.inspur.action;import java.util.Map;import com.opensymphony.xwork2.ActionContext;import com.opensymphony.xwork2.ActionSup 阅读全文
posted @ 2013-04-15 08:51 知点网 阅读(402) 评论(0) 推荐(0)

摘要:在struts2中的ActionContext相对于servlet中的servletRequst ,通过servletRequst访问session,application的方法为ActionContext actionContext=ActionContext.getContext();其中actionContext相当与jsp页面中的request对象。map session=actionContext.getSession();actionContext.getApplication().get("propertyName");actionContext.getApp 阅读全文
posted @ 2013-04-11 23:28 知点网 阅读(191) 评论(0) 推荐(0)

摘要:Struts2中使用框架validation框架进行校验时必须将ActionName-validation.xml放在和action编译出的.class文件放在同一个路径下否则校验失败。校验文件配置:<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator1.0.2//EN""http://www.opensymphony.com/xwork/xwork 阅读全文
posted @ 2013-03-27 21:22 知点网 阅读(328) 评论(0) 推荐(0)

摘要:struts2的国际化实现过程--刚开始写的时候按照网上说的那样配置完,结果一测试,乱码。然后自己在网上查了很多关于struts2国际化乱码的文章,写的都不全面,比如native2ascii.exe在哪里都没有说明后面摸索了一下,终于不乱码了。写下这篇文章方便自己和大家以后查看第一步--有两种方法A、在src下面新建一个struts.properties,加入里面的内容为:struts.custom.i18n.resources=messagesource其中:struts.custom.i18n.resources为固定的,messagesource为自己定义的B、struts.xml里面添 阅读全文
posted @ 2013-03-27 20:54 知点网 阅读(601) 评论(0) 推荐(0)

摘要:异常信息:The Struts dispatcher cannot be found. This is usually caused by using Struts tags without the associated filter. Struts tags are only usable when the request has passed through its servlet filter, which initializes the Struts dispatcher needed for this tag.环境:tomcat 6.0 struts2.21web.xml的配置: & 阅读全文
posted @ 2013-03-27 20:53 知点网 阅读(211) 评论(0) 推荐(0)