`
only_java
  • 浏览: 112688 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

关于类型转换器的疑问

阅读更多

看到集合类型转换器时,发现使用List进行类型转换后在结果显示页获取值时怎么还可以用数组形式来获得?

welcome.js

<%@ page language="java" contentType="text/html; charset=GBK"%>
<%@taglib prefix="s" uri="/struts-tags"%>
<html>
    <head>
        <title>转换成功</title>
    </head>
    <body>
        转换成功!<br>
		用户名1为:<s:property value="user[0].name"/><br>
		密码1为:<s:property value="user[0].pass"/><br>
		用户名2为:<s:property value="user[1].name"/><br>
		密码2为:<s:property value="user[1].pass"/><br>
    </body>
</html>

 

 

LoginAction.java

package lee;

import java.util.List;

import com.opensymphony.xwork2.Action;

/**
 * @author  yeeku.H.lee kongyeeku@163.com
 * @version  1.0
 * <br>Copyright (C), 2005-2008, yeeku.H.Lee
 * <br>This program is protected by copyright laws.
 * <br>Program Name:
 * <br>Date: 
 */

public class LoginAction implements Action
{
	private List<User> user;
	private String tip;

	public void setUser(List<User> user) 
	{
		this.user = user; 
	}

	public void setTip(String tip)
	{
		this.tip = tip; 
	}

	public List<User> getUser() 
	{
		return (this.user); 
	}

	public String getTip() 
	{
		return (this.tip); 
	}

    public String execute() throws Exception
	{
    	
        if (getUser().get(0).getName().equals("scott")
			&& getUser().get(0).getPass().equals("tiger") )
		{
			setTip("转换成功");
            return SUCCESS;
        }
		else
		{
			setTip("转换失败");
            return ERROR;
        }
    }
}

 

UserConverter.java

package lee;

import java.util.Map;
import ognl.DefaultTypeConverter;
import org.apache.struts2.util.StrutsTypeConverter;
import java.util.List;
import java.util.ArrayList;


/**
 * @author  yeeku.H.lee kongyeeku@163.com
 * @version  1.0
 * <br>Copyright (C), 2005-2008, yeeku.H.Lee
 * <br>This program is protected by copyright laws.
 * <br>Program Name:
 * <br>Date: 
 */


public class UserConverter extends StrutsTypeConverter 
{

    public Object convertFromString(Map context, String[] values, Class toClass)
	{
		if (values.length > 1)
		{
			List<User> res=new ArrayList<User>();
			
			for (int i = 0; i < values.length ; i++ )
			{
				User user = new User();
				String[] userValues = values[i].split(",");
				user.setName(userValues[0]);
				user.setPass(userValues[1]);
				res.add(user);
			}
			return res;	
		}
		else
		{
			User user = new User();
			String[] userValues = values[0].split(",");
			user.setName(userValues[0]);
			user.setPass(userValues[1]);
			return user;
		}

    }

    @Override
    public String convertToString(Map context, Object o)
	{
		if (o instanceof User)
		{
			User user = (User)o;
			return "<" + user.getName() + "," + user.getPass() + ">";
		}
		else if (o instanceof User[])
		{
			User[] users = (User[])o;
			String result = "[";
			for (User user : users )
			{
				result += "<" + user.getName() + "," + user.getPass() + ">";
			}
			return result + "]";
		}
		else
		{
			return "";
		}

    }


} 

 

分享到:
评论

相关推荐

    文本文件编码格式转换器

    打开软件后可以看出来左上角的文件格式可以根据你的文件类型自定义添加,删除(具体的请多多动动鼠标)。下面的编码格式转换处只添加了Qt可以处理的编码格式,对于自动识别编码格式的功能没有经过大范围测试,请谨慎...

    Angularjs 双向绑定时字符串的转换成数字类型的问题

    在文档的最后,还提到了如果读者对如何解决AngularJS双向绑定中的类型转换问题有任何疑问,可以通过留言进行反馈。这表明文档作者愿意与社区进行互动,解答相关问题,并鼓励读者参与讨论。 总体来看,这篇文档深入...

    如何将PDF转换成word文档完美转换.docx

    本文将详细介绍一种高效实用的方法——使用迅捷PDF转换成Word转换器进行文件转换。 #### 迅捷PDF转换成Word转换器概述 迅捷PDF转换成Word转换器是由上海互盾科技信息有限公司开发的一款专业文件转换软件。该软件...

    松下电源开关变压器电流谐振转换器用 CR型样本.pdf

    松下电源开关变压器电流谐振转换器用CR型样本中的产品,具有独特的设计理念和技术特点,广泛应用于多种电子设备中。以下是根据提供的文件内容提炼的知识点: 1. 产品类型与设计理念: 松下CR型开关变压器是专为...

    quicktype:从JSON,Schema和GraphQL生成类型和转换器

    quicktype通过JSON,JSON Schema,TypeScript和生成强类型化的模型和序列化,从而使在许多编程语言中安全地使用JSON类型变得轻而易举。 。 阅读以获取更多介绍。 如有任何疑问,请先查看 。 支持的输入 JSON格式 ...

    Advanced_Data_Converters--[248].pdf

    - **David Robertson**(Analog Devices):本书不仅解答了关于数据转换器“是什么”、“怎么做”的疑问,更重要的是解释了“为什么”,这使得读者能够深入了解现代转换器设计中的权衡考量。 - **数据转换领域的...

    db2傻瓜疑问1000例

    - **DB2 Relational Connect**:关系型数据库连接器。 - **WebSphere**:集成环境,支持多种应用服务。 #### 3. DB2支持的通信协议 为了确保数据传输的安全性和效率,DB2支持以下几种通信协议: - **TCP/IP**:...

    自动转换开关控制器ATC5300常见问题集锦.pdf

    本文档是一份常见问题集锦,解答了一些关于ATC5300使用的常见疑问。 1. ATC5300的基本功能 ATC5300作为自动转换控制装置,主要功能包括执行电力系统的自动转换任务。它可以接收来自控制系统的指令进行工作,并且...

    迅雷&快车&旋风地址转换工具

    具体操作上,用户通常只需要将待转换的下载地址输入到软件中,选择目标下载工具类型,点击转换按钮,软件便会自动完成解析和转换过程,并将新生成的地址显示出来,用户可以复制并用于对应的下载器进行下载。...

    dozer-user-guide

    - 自定义转换器:使用自定义的转换器来处理无法通过常规方式映射的属性。 - 自定义Bean工厂:处理复杂对象创建逻辑。 - 自定义创建方法:使用自定义的方法来创建映射的对象。 - 自定义获取/设置方法:处理属性的获取...

    usb--serial驱动软件

    加入这样的社区可以帮助用户更快地解决关于USB-SERIAL驱动的疑问。 综上所述,USB-SERIAL驱动软件是连接USB串行转换设备的关键,其正确安装和配置对于使用串行设备至关重要。了解驱动的基本原理和常见问题处理方式...

    华为硬件工程师使用手册

    - **A/D转换器**: 模拟到数字转换器是将模拟信号转换为数字信号的关键组件。 - **分辨率**: 表示A/D转换器能分辨的最小输入变化。 - **采样率**: 指单位时间内可以完成的转换次数。 - **信噪比(SNR)**: 描述转换...

    From Simple IO to Monad Transfo - J Adrian Zimmer.pdf

    ### 《从简单IO到Monad转换器》:Haskell Monad经典教程 #### 一、纯与不纯(Pure Versus Impure) 本章节通过对比纯函数与非纯函数的特性来引入Monad的概念。在Haskell中,纯函数指的是那些没有副作用的函数,即...

    U8学习疑问集

    - **员工类型影响**:探讨创业型与工作型员工对公司发展的影响,理解不同类型员工的特点及其对组织文化、创新能力和团队氛围的贡献。 - **知识管理与学习型组织**:知识管理是提升组织创新能力的基础,建立学习型...

    IMX206CQC_Technical Datasheet

    ExmorR是索尼公司的商标,ExmorR是索尼公司的一款CMOS图像传感器,通过改变“Exmor”像素的基本结构,并采用列并行A/D转换器,使得它具有显著增强的成像特性,包括高灵敏度和低噪声。索尼公司保留更改产品和规格的...

    欧姆龙旋转编码器附件.pdf

    欧姆龙旋转编码器是一种常用于工业测量的装置,能够将旋转角度转换为电子信号。其附件中包括耦合器,是一种连接旋转编码器和被测轴的机械零件。在选择合适的耦合器时,需要根据使用环境和要求来确定耦合器的材质和...

    jesd204B协议(英文原版)

    JEDEC JESD204B协议是一种高速串行接口标准,主要用于数据转换器与数字系统之间的数据传输,特别适用于高速数据采集和软件无线电等多领域应用。JEDEC(固态技术协会)是全球知名的半导体行业协会,负责制定半导体...

    Java 8 Stream API中的`Collectors.collectingAndThen()`:转换结果的利器

    Collectors.collectingAndThen()是其中一种强大的收集器,它允许开发者在收集过程完成后,对结果进行进一步的处理或转换。本文将详细探讨Collectors.collectingAndThen()的作用、使用场景以及如何与其他Stream操作相...

    java基础语法练习题.zip

    数据类型转换.docx"**:这部分将详细解释Java中的自动类型转换和强制类型转换,包括基本数据类型之间的转换,以及对象引用类型的转换。 6. **"6.运算符.docx"**:涵盖算术运算符、比较运算符、逻辑运算符、位运算符...

Global site tag (gtag.js) - Google Analytics