- 浏览: 245730 次
- 性别:
- 来自: 济南
文章分类
- 全部博客 (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 731所需配置: jquery.jsajaxfileupload. ... -
struts2防止重复提交
2012-02-06 16:31 734在struts.xml的Action里配置 默认拦截器 ... -
struts2详细起源
2012-01-19 09:31 811自从1997年第一个Servlet ... -
java的枚举的定义和使用
2012-01-12 23:29 1185public emun EmunName { w ... -
从struts输出打印出来
2012-01-12 09:33 749response.setContentType("t ... -
OGNL表达式struts2标签“%,#,$”
2011-12-27 14:43 617OGNL(EL表达式)的用法 # ... -
sturts返回直接输出action信息
2011-12-22 15:17 782HttpServletResponse reponse = S ... -
struts2中的redirect、redirectaction的区别
2011-12-22 09:38 1214当使用type=“redirectAction” 或type= ... -
ActionContext和ServletActionContext介绍
2011-12-14 14:31 785ActionContext(Action上下文) ... -
struts2r Core标签版本不同,uri地址也不同
2011-12-14 10:04 729jstl.jar standard.jar 2个包 ... -
JSTL1.1函数标签库(functions)如fn:length
2011-12-14 09:56 641在jstl中的fn标签也是我们在网页设计中经常要用到的很关键的 ... -
spring 如何获取当前上下文的session cookie
2011-12-14 08:49 1140ActionContext.getContext().getS ... -
Java企业级开发SSH三大框架的Jar包
2011-12-06 18:39 939123 -
Struts2 如何获取Request Response Session以及解决中文乱码问题
2011-12-06 18:16 1141首页要实现这三个接口 SessionAware, Servl ... -
struts spring hibernate配置文件
2011-10-24 21:24 942ApplicationContext ctx = new Cl ... -
struts dom4j json gson xml 拦截器 类型转换
2011-09-16 21:41 909struts dom4j json gson xml 拦截器 ... -
Struts2拦截器
2011-09-16 21:27 689struts.xml配置: <interceptors& ... -
Struts2与Gson开发
2011-09-16 21:22 783struts2.xml配置信息: action name=&q ... -
Struts2与XML(dom4j)开发
2011-09-16 21:20 880struts2.xml配置 <action name=& ... -
Struts2与jSon开发
2011-09-16 21:16 702首先要一个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()`方法或者`+`运算符将数字转换为字符串。 - **取小数点前...
Java面试题涵盖了广泛的领域,包括基础语法、数据类型转换、日期时间处理、数组和集合、I/O操作、多态、编码转换、数据库访问、JSP和Servlet技术、J2EE相关知识以及其他编程概念。以下是这些知识点的详细说明: 1. ...
- **数据类型转换**:通常按照从小到大的顺序进行自动转换;反之,需要显式强制转换。字符与数字之间的转换可通过UNICODE码实现。 #### 标识符与关键字 - **关键字**:Java中有49个关键字,其中包括未使用的`goto`...
3. 数据类型转换: - 数字字符转数字:使用Integer.parseInt()或Double.parseDouble()。 - 数字转字符:通过`(char)`强制类型转换或使用`Character.toString()`。 - 取小数点前两位并四舍五入:使用`Math.round()...
- 数据类型转换:Character.getNumericValue()用于字符转数字,Integer.parseInt()或Double.parseDouble()用于字符串转数字;NumberFormat类可用于格式化数字并四舍五入。 2. **日期和时间**: - 使用java.time...
- 数据类型转换:使用`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}...
- **Thread 类与 Runnable 接口:** 实现多线程的两种方式。 - **线程同步:** synchronized 关键字和 Lock 接口。 #### 12. Struts框架简介 **知识点概述:** - **Struts 概念:** 一种基于 MVC 设计模式的 Java ...