- 浏览: 1989156 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (509)
- JavaEE (122)
- Oracle数据库 (29)
- JavaScript (37)
- SAP (5)
- MySql数据库 (7)
- JavaSE (4)
- Ajax (1)
- jQuery (13)
- SSH框架 (36)
- Web Service (10)
- JSF框架 (2)
- JBPM (0)
- ireport报表 (2)
- ibatis (5)
- Hibernate (31)
- JSP (11)
- Tomcat 服务器 (20)
- Other (19)
- JavaWeb (4)
- Maven (11)
- OSWorkFlow (10)
- HTML (13)
- Exception汇总 (7)
- SVN (2)
- 笑话 (1)
- JSTL (1)
- WebSphere Message Broker (13)
- ANT命令 (3)
- Liunx (12)
- Struts2 (26)
- Eclipse (6)
- DOS (3)
- Flex (11)
- WebSphere (1)
- 开发常用工具 (3)
- Junit (2)
- EJB (4)
- Struts1.2 (2)
- Jboss (1)
- Android (2)
- Java框架源码解析 (1)
- Spring (4)
- MyBatis (6)
- SpringMVC (4)
- Jetty (2)
- 数据库表设计 (1)
- SSO (4)
最新评论
-
贝塔ZQ:
也可以试试PageOffice插件,觉得更简单点
Jxl操作Excel设置背景、字体颜色、对齐方式、列的宽度 -
jia1208:
...
Could not publish server configuration for Tomcat v6.0 Server at localhost. -
u011274527:
赞
java.io.EOFException java.io.ObjectInputStream$PeekInputStream.readFully 错误 -
旭旭小牛啦:
怎么没哟了,继续赛
jQuery 选择器 -
wzw3919:
100行会报空指针
Java 解压缩zip文件
首先在mySql数据库中建立表:
/* SQLyog Community v8.71 MySQL - 5.1.53-community ********************************************************************* */ /*!40101 SET NAMES utf8 */; create table `Resource` ( `id` int (10), `key` varchar (300), `remark` varchar (300) ); insert into `Resource` (`id`, `key`, `remark`) values('100','student.name','no remark'); insert into `Resource` (`id`, `key`, `remark`) values('101','student.address','no remark'); insert into `Resource` (`id`, `key`, `remark`) values('102','student.age','no remark'); insert into `Resource` (`id`, `key`, `remark`) values('103','student.sex','no remark'); insert into `Resource` (`id`, `key`, `remark`) values('104','student.phone','no remark');
然后,建立Connection连接,写一个连接类:
package pack.java.connection.database; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; /** * 数据库连接类; * @author Administrator * */ public class BaseConnection { private final String USERNAME = "root"; private final String PASSWORD = "mysql"; private final String URL = "jdbc:mysql://localhost/test?useUnicode=true&characterEncoding=utf-8"; private final String DRIVER = "com.mysql.jdbc.Driver"; /** * 获取Connection连接; * @return */ private Connection getConnection(){ Connection connection = null; try { Class.forName(DRIVER); connection = DriverManager.getConnection(URL, USERNAME, PASSWORD); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); System.out.println("驱动不存在!"); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return connection; } /** * 获取PreparedStatement; * @return */ private PreparedStatement getPreparedStatement(String sql){ Connection connection = getConnection(); PreparedStatement preparedStatement = null; try { preparedStatement = connection.prepareStatement(sql); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return preparedStatement; } public ResultSet getResultSet(String sql){ PreparedStatement preparedStatement = getPreparedStatement(sql); ResultSet resultSet = null; try { resultSet = preparedStatement.executeQuery(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); System.out.println("查询出错!"); } return resultSet; } }
首先定义一个JavaBean ,ResourceVO类,用来映射数据库的字段.
之后,就是通过,调用BaseConnection中的一个getResultSet方法返回ResultSet拼成成一个List<ResourceVO>集合;
这个过程就不说了,篇幅太长了.
然后,在Action中就调用方法,得到一个List<ResourceVO>集合;并且提供getter,setter方法.
package pack.java.file.upload.action; import java.util.List; import pack.java.service.ResourceService; import pack.java.service.ResourceServiceImpl; import pack.java.vo.ResourceVO; import com.opensymphony.xwork2.ActionSupport; /** * Resource Action * @author Administrator * */ public class ResourceAction extends ActionSupport{ private static final long serialVersionUID = -4190531063573107186L; private ResourceService resourceService = new ResourceServiceImpl(); private List<ResourceVO> resourceVOList; public List<ResourceVO> getResourceVOList() { return resourceVOList; } public void setResourceVOList(List<ResourceVO> resourceVOList) { this.resourceVOList = resourceVOList; } /** * 显示所有的资源文件集合; * @return */ public String displayResourceVO(){ this.resourceVOList = resourceService.getResourceVOAll(); System.out.println("resourceVOList 集合大小:"+resourceVOList.size()); return SUCCESS; } }
定义一个displayResource.jsp页面用于显示.资源国际化.
<table width="80%" align="center" cellpadding="0" cellspacing="1" style="border:0px solid blue"> <tr> <th>编号</th> <th>资源名称</th> <th>备注</th> </tr> <s:iterator id="resource" status="stat" value="#request.resourceVOList"> <tr> <td><s:property value="#resource.id"></s:property></td> <td> <!-- 显示从数据库配置好的key --> <s:property value="%{getText(#resource.key)}"/> </td> <td><s:property value="#resource.remark"/></td> </tr> </s:iterator> </table>
配置struts.xml文件:
<?xml version="1.0" encoding="utf-8"?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "//struts.apache.org/dtds/struts-2.0.dtd" > <struts> <package name="pack.java.file.upload.action" extends="struts-default"> <!-- resource Action --> <action name="resourceAction" class="pack.java.file.upload.action.ResourceAction"> <result>/displayResource.jsp</result> </action> </package> </struts>
配置web.xml文件:
<?xml version="1.0" encoding="UTF-8"?> <web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> <display-name>Struts2Upload</display-name> <filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>*.action</url-pattern> </filter-mapping> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>index.jsp</welcome-file> </welcome-file-list> </web-app>
最后在新建一个struts.properties配置文件放入src的目录下:
加入:
struts.custom.i18n.resources=globalMessages
然后再加入一个globalMessages_en_US.properties文件.
配置:
student.name = Name
student.address = Address
student.age = Age
student.sex = Sex
student.phone = Phone
即可.
启动服务器:运行 http://localhost:8008/Struts2ResourceDemo/displayResource.jsp
发表评论
-
java.lang.NoSuchMethodException: No such accessible method: addForwardConfig() o
2012-06-07 00:07 3377经常有人在配置Struts1.2的struts-conf ... -
Unable to load configuration. - action - file:/C:/Documents%20and%
2011-12-12 21:34 8032Unable to load configuration. - ... -
Struts2+jQuery+Ajax
2011-11-29 11:05 2924一个简单的Json实例,采用Struts2 + jQuery1 ... -
Struts2 使用”#“获取数据 和不使用“#”号的区别。
2011-09-29 11:43 1220最近使用struts2 做项目时, 如果在后台可以使用两 ... -
struts2 标签 s:optiontransferselect左右下拉列表的使用。
2011-09-24 01:08 1930最近做项目,需要用到struts2中的标签, 自己便研 ... -
Struts2 标签出现'dojo' 未定义 解决方案
2011-09-23 23:09 1365我在做项目用到了struts2中的 s:optiont ... -
struts2几种result type探究
2011-09-22 02:18 1307可以在struts2-core-{version}.jar ... -
Struts2 自定义拦截器,怎么实现先于 action 执行
2011-09-08 00:31 1417在Action前用拦截器是直接return act.invok ... -
struts2自定义拦截器,模拟登陆权限验证
2011-09-08 00:27 2259struts2自定义拦截器一——模拟登陆权限验证 1、h ... -
JSP的Filter对struts2 中的 action拦截不起作用的解决方案.
2011-09-08 00:22 2190好像在web.xml配置filter只能实现对jsp的拦截 ... -
Parse Error at line 2 column 15: Document is invalid: no grammar found.
2011-09-03 00:09 2205今天部署把项目部署到tomcat上面时,发现了一个错误,. ... -
java.lang.NoClassDefFoundError: org/apache/commons/io/output/DeferredFileOutputS
2011-08-29 01:02 4041java.lang.NoClassDefFoundError: ... -
java.lang.RuntimeException: Unable to load bean org.apache.struts2.dispatcher.mu
2011-08-29 00:32 1413最近做文件上传的功能时,报如下错误..是因为少了一个jar包的 ... -
Struts2 标记判断List集合和Map集合元素的大小
2011-08-25 20:34 4251比如判断一个list集合中的元素等于或小于0, <!- ... -
Struts2 <s:if> 标签的使用
2011-08-25 16:31 1070标签用法如下: test中是用来,放表达式,不能嵌套EL表达 ... -
Struts2 Caused by: java.lang.IllegalArgumentException: argument type mismatch
2011-08-15 09:27 8849前台页面文本框 name 绑定的属性,与后台属性不一致. ... -
Struts2 一些常见的标签的使用
2011-08-10 00:52 1272直接贴后台代码: package com.struts2.a ... -
Struts2+JQuery+Json登陆实例
2011-07-17 23:21 6320在搭建之前.. 首先,需要准备struts2.0框架的5个核心 ... -
java.lang.NoSuchMethodError: com.opensymphony.xwork2.ActionContext.get(Ljava/lan
2011-07-16 18:47 5529java.lang.NoSuchMethodError: ... -
Struts2通过使用ActionContext类获取request和response对象
2011-07-16 18:23 2847使用ActionContext类这种方法比较简单,我们可以通过 ...
相关推荐
3. **在Action类中获取数据源**:通过`getDataSource`方法可以从请求对象中获取之前定义的数据源。 ```java DataSource ds = getDataSource(request, "UserDS"); ``` 4. **处理常见问题**:如果遇到连接失败的...
然后,我们可以在JSP页面中使用Struts2标签库显示国际化消息: ```jsp <%@ taglib prefix="s" uri="/struts-tags" %> <fmt:message key="greeting"/><!-- 引用messages.properties中的键 --> ``` Spring框架在这个...
例如,`getText(key)`方法用于获取资源文件中的值。 4. **JSP页面显示**: 在JSP页面中,可以使用`<s:text>`标签结合`name`属性来展示国际化消息。 5. **处理用户选择的语言**: 用户可以通过URL参数(如`?lang=en_...
在Struts中,国际化主要通过资源文件(通常称为`.properties`文件)来实现,这些文件包含了应用中的所有可本地化的文本。例如,`Messages.properties`是默认的语言版本(通常是英文),`Messages_zh_CN.properties`...
在Action中,我们可以使用`getText()`方法来获取资源文件中的字符串。 在`cart.jsp`视图页面中,我们可以使用Struts2的标签库来展示这些本地化文本,如`<s:text name="key"/>`,这里的`key`是.properties文件中的键...
在JSP页面中,Struts的标签库允许开发者通过指定的键从相应的资源文件中动态获取文本,从而实现多语言显示。例如,`<fmt:message key="messageKey"/>`标签可以从资源文件中获取消息,其中`messageKey`是资源文件中...
在Struts2中,我们可以使用s:form、s:textfield等标签来创建表单,s:submit标签用于提交表单。此外,我们还需要创建对应的错误提示页面,如login_error.jsp、register_error.jsp,用于显示验证失败的信息。 配置是...
在Java开发中,实现国际化(i18n)是一项重要的任务,它允许应用程序根据用户的语言和地区提供相应的本地化内容。本篇文章将详细讲解如何利用Java技术,特别是Struts框架,来实现这一功能。 首先,我们需要了解Java...
在JSP页面中,我们可以使用`<bean:message>`标签来获取资源包中的文本。比如,显示登录按钮的标签可能是: ```jsp <input type="submit" value="<bean:message key='login.submit'/>" /> ``` `key='login....
总结来说,Struts国际化的实现涉及资源文件的创建、配置Struts配置文件、在ActionForm和JSP中使用资源键,以及处理locale信息。结合Hibernate,可以进一步完善多语言支持,使应用具备全球化的能力。这个简单的示例为...
- **初始化 (`init()`)**:在 Servlet 第一次被加载到内存中时调用,通常用于执行一次性的设置任务,比如加载配置文件或数据库连接等。 - **服务 (`service()`)**:每当客户端向服务器发送一个请求时,就会调用此...
通过Struts标签库,我们可以从ActionContext中获取计数器的值并显示出来: ```jsp <%@ taglib prefix="s" uri="/struts-tags" %> 网站计数器 网站已访问次数:...
属性文件(Properties Files)和资源束(Resource Bundles)用于管理本地化信息,如消息、文本等。它们通过键值对的方式存储信息,支持国际化和本地化。 多线程(Threads)是Java语言的一个重要概念,它允许在单个...
标签“取数据库资源”可能指的是获取数据库中的数据或元数据。在SSH整合中,除了查询元数据,我们还可以使用Hibernate的Query或Criteria API执行SQL查询,获取实际的数据行。 总的来说,SSH整合提供了一种高效且...
可以在 eclipse 中运行 jsp 文件,查看从 MySQL 数据库读取的数据。 知识点 * 使用 Dreamweaver 连接 MySQL 数据库需要安装驱动程序 mysql-connector-java-5.1.6-bin.jar。 * 在 MySQL 数据库中建立表时,需要指定...
6. **在JSP中使用资源文件**:通过Struts的`bean:message`标签来引用资源文件中的键值。例如: ```jsp <bean:message key="label.welcome.china"/> ``` #### 六、Struts 2.0 中常用标签 **1. 表单输入标签**:...
以上是Spring+Hibernate将文件二进制数据持久化到数据库的解决方案,而Struts通过将表单中file类型的组件映射为ActionForm中类型为org.apache.struts.upload. FormFile的属性来获取表单提交的文件数据。 工程...
- **初始化 ActionServlet**:在 Web 应用启动时加载,并从 `struts-config.xml` 文件中读取配置信息。 - **处理请求**:当 ActionServlet 接收到客户端请求时,根据请求路径查找相应的 ActionMapping。 - **创建 ...
通过在ActionForm中定义资源键(resource key),并在页面上使用相应的标签,可以实现表单字段的多语言显示。get方法返回的值将与资源文件中对应的键匹配,实现动态显示不同语言的文本。 5. **ActionForm的生命周期...
【SpringTest】是一个针对初学者的教程,主要涵盖了在Spring框架中从配置文件获取值并输出到控制台的基础知识。Spring作为Java企业级应用开发的重要框架,提供了丰富的功能,包括依赖注入、AOP(面向切面编程)、MVC...