- 浏览: 251317 次
- 性别:
- 来自: 济南
-
文章分类
- 全部博客 (205)
- jQuery (27)
- Flash AS3.0 (0)
- Html5+CSS3 (12)
- C# .Net (19)
- Xml XPath XSLT (5)
- Sql (3)
- JavaScript (20)
- struts2 (23)
- hibernate (24)
- spring (11)
- j2ee (16)
- jsp/java (11)
- 设计模式 (5)
- json (3)
- Java.IO (7)
- Java.Util (7)
- android (8)
- WebService (10)
- MyEclipse SVN (3)
- servlet (1)
- Exception (3)
- 自我学习 (2)
- UML (2)
- java泛型 (1)
- Lucene (7)
- HtmlParser (2)
- 概念理解 (3)
- 正则表达式 (1)
- EMail (1)
最新评论
-
hanmiao:
没用,干巴巴的壹堆代码,没明白到底区别在哪里。
List Set Map 区别! -
e421083458:
偶来过了!
C#单向链表的实现
struts2配置文件:
<package name="struts2" extends="struts-default" namespace="">
<action name="index" class="com.web.struts.LoginAction" method="test">
<result name="success">/output.jsp</result>
</action>
</package>
LoginAction:
package com.web.struts;
import com.opensymphony.xwork2.ActionSupport;
public class LoginAction extends ActionSupport {
private String username;
private String password;
private Point point;
public Point getPoint() {
return point;
}
public void setPoint(Point point) {
this.point = point;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
@Override
public String execute() {
System.out.println("成功!");
return "success";
}
public String test() {
System.out.println("成功2!");
return "success";
}
}
Point.java:
package com.web.struts;
public class Point {
private int x;
private int y;
public int getX() {
return x;
}
public void setX(int x) {
this.x = x;
}
public int getY() {
return y;
}
public void setY(int y) {
this.y = y;
}
}
PointConverter.java:
package com.web.struts;
import java.util.Map;
import ognl.DefaultTypeConverter;
public class PointConverter extends DefaultTypeConverter {
@Override
public Object convertValue(Map context,Object value, Class toType) {
if(Point.class == toType){
Point point = new Point();
String[] string = (String[])value;
String[] paramValue = string[0].split(",");
int x = Integer.parseInt(paramValue[0]);
int y = Integer.parseInt(paramValue[1]);
point.setX(x);
point.setY(y);
System.out.println(x+":"+y);
return point;
}
if(String.class == toType){
Point point = (Point)value;
int x = point.getX();
int y = point.getY();
String result = "[ x = " + x +" y = "+y+ "]";
System.out.println(x+":"+y);
return result;
}
return null;
}
}
封装后的类型转换:
package com.web.struts;
import java.util.Map;
import org.apache.struts2.util.StrutsTypeConverter;
public class PointConverter2 extends StrutsTypeConverter {
@Override
public Object convertFromString(Map context, String[] values, Class toClass) {
Point point = new Point();
String[] paramValue = values[0].split(",");
int x = Integer.parseInt(paramValue[0]);
int y = Integer.parseInt(paramValue[1]);
point.setX(x);
point.setY(y);
System.out.println(x+":"+y);
return point;
}
@Override
public String convertToString(Map context, Object o) {
Point point = (Point)o;
int x = point.getX();
int y = point.getY();
String result = "简化版[ x = " + x +" y = "+y+ "]";
System.out.println(x+":"+y);
return result;
}
}
局部类型转换LoginAction-conversion.properties配置信息:
point=com.web.struts.PointConverter:point是属性
全局类型转换xwork-conversion.properties配置信息:
com.web.struts.Point=com.web.struts.PointConverter
com.web.struts.Point包下面的对象
登陆页面:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>My JSP 'Login2.jsp' starting page</title>
</head>
<body>
<s:form action="/index.do">
<s:textfield name="point" label="坐标"></s:textfield>
<s:textfield name="username" label="用户名"></s:textfield>
<s:password name="password" label="密码"></s:password>
<s:submit></s:submit>
</s:form>
</body>
</html>
显示页面:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>My JSP 'ouput.jsp' starting page</title>
</head>
<body>
坐标<s:property value="point"/>
用户名<s:property value="username"/>
密码<s:property value="password"/>
</body>
</html>
<package name="struts2" extends="struts-default" namespace="">
<action name="index" class="com.web.struts.LoginAction" method="test">
<result name="success">/output.jsp</result>
</action>
</package>
LoginAction:
package com.web.struts;
import com.opensymphony.xwork2.ActionSupport;
public class LoginAction extends ActionSupport {
private String username;
private String password;
private Point point;
public Point getPoint() {
return point;
}
public void setPoint(Point point) {
this.point = point;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
@Override
public String execute() {
System.out.println("成功!");
return "success";
}
public String test() {
System.out.println("成功2!");
return "success";
}
}
Point.java:
package com.web.struts;
public class Point {
private int x;
private int y;
public int getX() {
return x;
}
public void setX(int x) {
this.x = x;
}
public int getY() {
return y;
}
public void setY(int y) {
this.y = y;
}
}
PointConverter.java:
package com.web.struts;
import java.util.Map;
import ognl.DefaultTypeConverter;
public class PointConverter extends DefaultTypeConverter {
@Override
public Object convertValue(Map context,Object value, Class toType) {
if(Point.class == toType){
Point point = new Point();
String[] string = (String[])value;
String[] paramValue = string[0].split(",");
int x = Integer.parseInt(paramValue[0]);
int y = Integer.parseInt(paramValue[1]);
point.setX(x);
point.setY(y);
System.out.println(x+":"+y);
return point;
}
if(String.class == toType){
Point point = (Point)value;
int x = point.getX();
int y = point.getY();
String result = "[ x = " + x +" y = "+y+ "]";
System.out.println(x+":"+y);
return result;
}
return null;
}
}
封装后的类型转换:
package com.web.struts;
import java.util.Map;
import org.apache.struts2.util.StrutsTypeConverter;
public class PointConverter2 extends StrutsTypeConverter {
@Override
public Object convertFromString(Map context, String[] values, Class toClass) {
Point point = new Point();
String[] paramValue = values[0].split(",");
int x = Integer.parseInt(paramValue[0]);
int y = Integer.parseInt(paramValue[1]);
point.setX(x);
point.setY(y);
System.out.println(x+":"+y);
return point;
}
@Override
public String convertToString(Map context, Object o) {
Point point = (Point)o;
int x = point.getX();
int y = point.getY();
String result = "简化版[ x = " + x +" y = "+y+ "]";
System.out.println(x+":"+y);
return result;
}
}
局部类型转换LoginAction-conversion.properties配置信息:
point=com.web.struts.PointConverter:point是属性
全局类型转换xwork-conversion.properties配置信息:
com.web.struts.Point=com.web.struts.PointConverter
com.web.struts.Point包下面的对象
登陆页面:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>My JSP 'Login2.jsp' starting page</title>
</head>
<body>
<s:form action="/index.do">
<s:textfield name="point" label="坐标"></s:textfield>
<s:textfield name="username" label="用户名"></s:textfield>
<s:password name="password" label="密码"></s:password>
<s:submit></s:submit>
</s:form>
</body>
</html>
显示页面:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>My JSP 'ouput.jsp' starting page</title>
</head>
<body>
坐标<s:property value="point"/>
用户名<s:property value="username"/>
密码<s:property value="password"/>
</body>
</html>
发表评论
-
struts2结合jquery实现异步上传文件
2012-02-16 10:50 752所需配置: jquery.jsajaxfileupload. ... -
struts2防止重复提交
2012-02-06 16:31 761在struts.xml的Action里配置 默认拦截器 ... -
struts2详细起源
2012-01-19 09:31 828自从1997年第一个Servlet ... -
java的枚举的定义和使用
2012-01-12 23:29 1215public emun EmunName { w ... -
从struts输出打印出来
2012-01-12 09:33 775response.setContentType("t ... -
OGNL表达式struts2标签“%,#,$”
2011-12-27 14:43 636OGNL(EL表达式)的用法 # ... -
sturts返回直接输出action信息
2011-12-22 15:17 800HttpServletResponse reponse = S ... -
struts2中的redirect、redirectaction的区别
2011-12-22 09:38 1234当使用type=“redirectAction” 或type= ... -
ActionContext和ServletActionContext介绍
2011-12-14 14:31 806ActionContext(Action上下文) ... -
struts2r Core标签版本不同,uri地址也不同
2011-12-14 10:04 744jstl.jar standard.jar 2个包 ... -
JSTL1.1函数标签库(functions)如fn:length
2011-12-14 09:56 655在jstl中的fn标签也是我们在网页设计中经常要用到的很关键的 ... -
spring 如何获取当前上下文的session cookie
2011-12-14 08:49 1192ActionContext.getContext().getS ... -
Java企业级开发SSH三大框架的Jar包
2011-12-06 18:39 959123 -
Struts2 如何获取Request Response Session以及解决中文乱码问题
2011-12-06 18:16 1160首页要实现这三个接口 SessionAware, Servl ... -
struts spring hibernate配置文件
2011-10-24 21:24 966ApplicationContext ctx = new Cl ... -
struts dom4j json gson xml 拦截器 类型转换
2011-09-16 21:41 924struts dom4j json gson xml 拦截器 ... -
Struts2拦截器
2011-09-16 21:27 724struts.xml配置: <interceptors& ... -
Struts2与Gson开发
2011-09-16 21:22 812struts2.xml配置信息: action name=&q ... -
Struts2与XML(dom4j)开发
2011-09-16 21:20 899struts2.xml配置 <action name=& ... -
Struts2与jSon开发
2011-09-16 21:16 736首先要一个strus2-json jar包 struts.xm ...
相关推荐
本练习主要关注如何在Struts2中实现自定义的数据类型转换,以满足特定业务需求。 首先,我们需要了解Struts2的数据转换机制。当用户提交表单数据时,Struts2会通过ActionContext获取到这些数据,并尝试将其转换为...
- Struts1的类型转换需要手动处理,如果表单提交的数据类型与Action属性不匹配,需要编写转换代码。 - Struts2提供自动类型转换,通过`Converter`接口和`xwork-conversion.properties`配置文件,可以自定义类型...
6. **返回数据格式**:默认情况下,Struts2 REST插件支持JSON和XML两种格式。如果需要返回其他格式,可以通过配置自定义结果类型或使用第三方库实现。 7. **处理URL参数**:RESTful URL中的路径参数和查询参数可以...
数据类型之间的转换 - **数值型字符转换为数字**:使用包装类的parse方法,例如`Integer.parseInt("123")`。 - **数字转换为字符**:通过`String.valueOf()`方法或者`+`运算符将数字转换为字符串。 - **取小数点前...
2. 数据类型转换:使用Integer.parseInt()或Double.parseDouble()将字符串转换为数值;反之,Integer.toString()和Double.toString()可将数字转换为字符串;使用DecimalFormat类可以取小数点前两位并进行四舍五入。 ...
Java面试题涵盖了广泛的领域,包括基础语法、数据类型转换、日期时间处理、数组和集合、I/O操作、多态、编码转换、数据库访问、JSP和Servlet技术、J2EE相关知识以及其他编程概念。以下是这些知识点的详细说明: 1. ...
3. 数据类型转换主要涉及装箱和拆箱操作。例如,Character与int间的转换,可以通过Character.getNumericValue()和Integer.parseInt()等方法完成。取小数点前两位并四舍五入可利用DecimalFormat或BigDecimal类。 4. ...
- **数据类型转换**:通常按照从小到大的顺序进行自动转换;反之,需要显式强制转换。字符与数字之间的转换可通过UNICODE码实现。 #### 标识符与关键字 - **关键字**:Java中有49个关键字,其中包括未使用的`goto`...
- **数据类型转换**:字符转数字用Integer.parseInt()或Double.parseDouble(),数字转字符用Integer.toString()或Double.toString()。取小数点前两位并四舍五入可以用DecimalFormat类。 2. **日期和时间** - 使用...
3. 数据类型转换: - 数字字符转数字:使用Integer.parseInt()或Double.parseDouble()。 - 数字转字符:通过`(char)`强制类型转换或使用`Character.toString()`。 - 取小数点前两位并四舍五入:使用`Math.round()...
- **数据类型转换**:Character类的parseInt()和Double.parseDouble()等方法用于数值型字符到数字的转换;Integer.toString()和Double.toString()用于数字到字符的转换;四舍五入可通过Math.round()方法实现。 - *...
- 数据类型转换:Character.getNumericValue()用于字符转数字,Integer.parseInt()或Double.parseDouble()用于字符串转数字;NumberFormat类可用于格式化数字并四舍五入。 2. **日期和时间**: - 使用java.time...
- Java 的基本数据类型包括:byte、short、int、long、float、double、boolean、char 等八种基本类型,String 不是基本数据类型,而是一个类。 2. 字符串的操作:写一个方法,实现字符串的反转,如:输入 abc,输出...
- 数据类型转换:使用`parseInt()`、`doubleValue()`等方法进行转换;取小数点前两位并四舍五入可使用`DecimalFormat`类。 2. **日期和时间**: - 使用`java.util.Calendar`或`java.time`包中的类获取年月日、...
4. **多线程**:讲解线程的概念、创建线程的两种方式(继承Thread类和实现Runnable接口),线程生命周期、状态转换,线程调度和线程同步以防止数据竞争。 【Jsp】 JSP(JavaServer Pages)是Java Web开发的一部分...
{1.6}数据类型转换}{26}{section.1.6} {1.7}方法}{26}{section.1.7} {1.8}运算符}{27}{section.1.8} {1.8.1}自增运算}{28}{subsection.1.8.1} {1.8.1.1}Postincrement}{28}{subsubsection.1.8.1.1} {1.8.1.2}...
11. 依赖注入通常有两种:设值注入和构造注入。设值注入是指IoC容器使用属性的setter方法注入依赖实例,构造注入则是在构造器中注入依赖。 12. 读取cookie、读取HTTP头、设定响应的content类型、读取路径信息都是...
### Java核心知识点详解 #### 一、J2SE (Java 2 Standard Edition) **1.... - **封装**: 封装是面向对象编程的一个基本原则,...- Spring框架支持XML和注解两种配置方式,可以灵活地管理Bean的生命周期和依赖关系。 **...
- **Thread 类与 Runnable 接口:** 实现多线程的两种方式。 - **线程同步:** synchronized 关键字和 Lock 接口。 #### 12. Struts框架简介 **知识点概述:** - **Struts 概念:** 一种基于 MVC 设计模式的 Java ...