摘要: 最近使用idea部署maven项目的时候发现一个问题项目启动中没有报任何错误,但是在访问的时候提示404错误经过几天的排查终于发现问题在什么地方了原来maven自动的生成的Artifacts中把其他模块都以jar的形式引入的web模块的,而其他的模块还没有就造成了404错误。虽说解决了但是感觉还是有... 阅读全文
posted @ 2015-05-11 16:08 黎明前的黑夜 阅读(578) 评论(1) 推荐(1) 编辑
摘要: FreeMarker 不能容忍引用不存在的变量,除非明确地告诉它当变量不存在时如何处理。不论在哪里引用变量,都可以指定一个默认值来避免变量丢失这种情况, 通过在变量名后面跟着一个!和默认值。就像下面的例子:Welcome ${user!"Anonymous"}!当 user 从数据模型中丢失时,模板... 阅读全文
posted @ 2014-07-11 16:48 黎明前的黑夜 阅读(274) 评论(0) 推荐(0) 编辑
摘要: 为了使用Ajax表单,必须使用 生成提交按钮时,可以为改按钮指定一个targets属性,用来指定该表单更新的所有部分,如果需要更新多个部分,多个部分之间以英文逗号隔开。当服务器响应到达时,默认服务器响应输出在targets属性指定的HTML元素中,覆盖原来HTML元素里的内容。如果希望本页面可以执行服务器响应的JavaScript代码,需要为改提交按钮指定executeScripts=”true... 阅读全文
posted @ 2014-01-03 17:57 黎明前的黑夜 阅读(154) 评论(0) 推荐(0) 编辑
摘要: 在配置元素时,需要指定name,class和method属性,这三个属性都支持通配符。例如: 1. 如果用户请求的URL为loginAction.action,则调用student.RegisterAction中的login()方法 2. 如果用户请求的URL为loginAction.action,则调用student.LoginAction中的execute(),因为没有指定method属性,既总是使用execute方法来处理用户请求。 3. 如果用户请求为Book_save.action,则调用Book处理类的save()方法来处理用户请求 ... 阅读全文
posted @ 2013-12-02 10:20 黎明前的黑夜 阅读(257) 评论(0) 推荐(0) 编辑
摘要: 注册局部类型转换器只需要提供文件名为如下格式的文件:ActionName-conversion.properties ActionName 是需要转换器生效的Action的类名,后面的-conversion.properties字符串则是固定部分。例如:为LoginAction类,提供一个局部类型转换器,该类型转换器注册文件的文件名为LoginAction-conversion.properties,该文件为一个典型的properties文件,文件由key-value组成,文件内容为:propertyName=类型转换器类ActionName-conversion.properties文件由多 阅读全文
posted @ 2013-12-02 10:20 黎明前的黑夜 阅读(219) 评论(0) 推荐(0) 编辑
摘要: 同一个Web应用中有可能有同名的Action,struts2以命名空间的方式来管理action,同一个命名空间里不能由同的action,不同的命名空间里可以有同名的action。struts2 不支持为单独的action设置命名空间,而是通过为包指定namespace属性来为包下面的所有action指定共同的命名空间。默认的命名空间总是””,当为包指定了命名空间后,该包下所有的action处理的url应该为:命名空间名+action名. 如果请求为student/list.action,系统首先查找student命名空间里名为list的action,如果在该命名空间里找到对应的act... 阅读全文
posted @ 2013-12-02 10:19 黎明前的黑夜 阅读(384) 评论(0) 推荐(0) 编辑
摘要: 定义国际化资源文件 程序国际化的设计思想非常简单,主要思想是:界面中需要输出国际化信息的地方,我们不要子啊页面中直接输出信息,而是输出一个key值,该key值在不同语言环境下对应不同的字符串。当程序需要显示时,程序将根据不同的语言环境,加载该key对应语言环境下的字符串--这样就可以完成程序的国际化。国际化资源文件的命名格式为:basename_语言代码_国家代码.properties messageResouce_zh_CN.properties 加载资源文件 Struts2支持在JSP页面中临时加载资源文件,也支持通过全局属性来加载资源文件,全局加载资源文件通过struts.prope.. 阅读全文
posted @ 2013-11-18 09:46 黎明前的黑夜 阅读(128) 评论(0) 推荐(0) 编辑
摘要: 通常,当一个用户登录成功后,需要将用户的用户名添加为Session状态信息。以供其他页面查看其状态。 为访问HttpSession实例,Struts2提供了一个ActionContext类,该类提供了一个getSession()的方法,该方法的返回值是Map,而不是HttpSession。虽然ActionContext的getSession()返回的不是HttpSession对象,但Struts2的系列拦截器会负责改Session和HttpSession之间的转换。例如将userName放到session中:ActionContext.getContext().getSession().pu. 阅读全文
posted @ 2013-11-14 15:38 黎明前的黑夜 阅读(140) 评论(0) 推荐(0) 编辑
摘要: 表单的 enctype 属性指定的是表单数据的编码方式,改属性有如下3个值:application/x-www-form-urlencoded:这是默认的编码方式,它只处理表单域里的value属性值,采用这种编码方式的表单会将表单域的值处理成URL编码方式。multipart/form-data:这种编码方式会以二进制流的方式来处理表单数据,这种编码方式会把文件域指定文件的内容也封装到请求参数里。文件上传就是基于此种方法。text/plain:这种编码方式当表单的aciton属性为mailto:URL的形式时比较方便,这种方式主要适用于直接通过表单发送邮件的方式。一旦设置了表单的enctype 阅读全文
posted @ 2013-09-04 20:32 黎明前的黑夜 阅读(287) 评论(0) 推荐(0) 编辑
摘要: Struts2支持使用多种视图技术,例如JSP、Velocity和FreeMarker等。当一个Action处理用户请求结束后,仅仅返回一个字符串,这个字符串就是逻辑视图名,但改逻辑视图并未与任何的视图技术及任何的资源关联--直到我们在struts.xml文件中配置改逻辑视图。 结果类型决定了Action处理结束后,下一步将执行那种类型的动作。 Struts2的结果类型要求实现com.opensymphony.xwork.Result,这个结果是所有Action执行结果的通用接口。如果我们需要自己的结果类型,我们应该提供一个实现改接口的类,并在struts.xml文件中配置改结果类型... 阅读全文
posted @ 2013-08-28 21:12 黎明前的黑夜 阅读(609) 评论(0) 推荐(0) 编辑