好了让我们愉快的开始第二回合
这一回合的内容是页面上的类型转换
主要的呢
先说个简单的
Struts2实现的自动类型转换
1:所有基本数据类型的转换
2:本地日期格式(YYYY-MM-DD) 自动转为date类型
3:把String【】数组类型转成了使用逗号空格间隔的字符串
Struts不能实现的类型,就需要我们自己转了
我要写的就是自己转类型
首先呢,是在web下,写个类,类名就叫myConverter,
要让这个类继承 extends StrutsTypeConverter这个类
类里面有两个方法。
一个是String转date
一个是date转String
现在写一下实现的方法
Public class MyConverter extends StrutsTypeConverter
{
Private SimleDateFormat sdf = new SimpleDateFromat(“mm/dd/yyyy”);
//arg1:被转换的类型 arg2:转换成什么类型
Public Object ConvertFromString(Map arg0,String[] arg1,class arg2)
{
If(arg1.length==0||arg1==null)
{
Return null;
}
String date = arg1[0];
If(arg2==java.util.Date.class)
{
Try
{
Return sdf.parse(date);
}
Catch(ParseException e)
{
e.printStack Trace();
}
}
Return null;
}
}
Public String convertToString(Map arg0,Object arg1)
{
If(arg1 instanceof Date)
{
Date date=(Date)arg1;
Return sdf.format(date);
}
Return null;
}
}
好了 开始怎么配置吧
有两个方法配置,一个就是配置这个方法的,
在这个实体类包写:
(假如写birthday) birthday-conversion.properties
怎么就记不下来这个英文呢
Properties properties properties properties properties properties properties properties properties properties properties properties properties properties properties properties
里面写着:birthday=com.qianfeng.
第二个方法:是在src下 配置文件
好了 关门了 明天写
好了 明天到了 ,可是我却不记得昨天我写到哪了
想起来了想起来了(经过了看源代码)
写一个配置文件
名字叫后悔~
不对, (全局的,在src下)
Xwork-conversion.properties
java.util.Date=com.qianfeng.web.action.converter.MyConverter
下面开始验证,划重点,敲黑板
1编程式验证
(硬解码)
Struts内部封装了一个map,这个map的键就是页面上的name属性的值
Map的值就是验证结果信息
重写ActionSupport中的validate方法,把验证信息存在map中
addFieldError方法用来验证信息存储到map中
默认在执行该action的任何动作方法之前都进行验证
怎么让不需要验证的方法,不执行validate?
1:使用注解:在不需要执行验证的动作方法上加入注解@SkipValidation
2:改变验证方法的名称:validate+动作方法名(首字母大写)
注意 必须继承actionsupport
@Override
public void validate()
{
if(“”.equals(user.getUsername()) || user.getUsername()==null)
{
//把验证信息存到map中
addFieldError(“username”,”用户名不为空”);
}
if(StringUtils.isEmpty(user.getUsername()))
{
addFieldError(“username”,”用户名不为空”);
}
}
public void validateRegist()
{
if(StringUtils.isEmpty(user.getUsername()))
{
addFieldError(“username”,”用户名不为空”);
}
}
ok
好了测试成功 记得要写input反馈才可以哦~
第二种方式
声明式验证:
在动作类所在的包下创建xml 文件,命名规范:动作类名-validation.xml
1创建文件:动作类名-validation.xml
默认在执行动作类任何一个方法都要执行
解决方式:
1:使用注解,再不需要执行验证的动作方法下加入注解@SkipValidation
2:改变xml文件的名称:动作类名-动作名-vlidation.xml
2 加入dtd约束:xwork-core-2.3.15.3JAR包下找到 xwork-validator-1.03dtd
我把验证打过来了这破玩意找的太费事了
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE validators PUBLIC
"-//Apache Struts//XWork Validator 1.0.3//EN"
"http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd">
分享到:
相关推荐
C++课程设计需要的哥们可以自提,包含主函数,可以...在startWar()中,随机决定由哪一方率先发起攻击(恐怕是每个回合都随机决定谁先出手会比较公平,如果每回合先出手都是固定一方,那么战斗结果完全是确定性的。
回合制战斗系统思路 回合制战斗系统是网络游戏中的一种常见的战斗方式,具有慢节奏、易操作、收集养成、聊天交友等特点,吸引了许多玩家。然而,回合制战斗也存在一些缺点,如容易让人感到无聊、给一般人的印象就是...
利用C++面向对象程序设计方法,实现两支队伍(各包含至少一名战士、法师和大师)的自动回合制对战
实现随机回合制战斗系统Combat
易语言战斗回合制游戏源代码,回合制游戏!
《古月游戏开发库》官方示例程序十──简单的回合制战斗理论演示 同样的这个示例仅仅演示了一下各位常见的回合制战斗引擎的设计理论。当然,这仅仅是设计理论的演示,并不是真正的战斗引擎。 示例所用的...
回合制自己写的 战斗DEMO 加动画状态 Q键移动并攻击。 代码很简单。不要抱有太大希望 。作为新手学习使用。 public enum HeroStatus { idle = 0, //空闲 attack, //攻击 other, //其他 hit, //受击 die, //...
网络游戏的发展推动了各种游戏类型的创新,其中回合制战斗系统因其独特的策略性和节奏感在众多玩家中受到喜爱。本研究将深入探讨基于Unity3D的回合制网游战斗系统的实现,结合实际项目《PKer》的设计与开发,提供一...
《iOS小游戏:RPG回合制战斗游戏源码详解》 在移动游戏开发领域,iOS平台以其优秀的用户体验和广泛的用户基础,一直是开发者们的热门选择。本篇文章将深入探讨一款基于iOS平台的小游戏——RPG回合制战斗游戏的源码...
在本项目"C#开发回合制游戏(多怪物版)"中,我们将深入探讨如何使用C#编程语言构建一款具有回合制战斗系统的游戏。这通常涉及到游戏逻辑、对象模型设计、多线程处理以及用户界面等多个方面的知识。让我们逐一展开...
在本项目设计中,我们将深入探讨如何设计和实现一个基于C++的回合制战斗系统,主要涉及的角色有Soldier(士兵)、Wizard(法师)和Master(大师)。这个系统将涵盖角色的基本属性、技能、行动机制以及战斗逻辑。下面...
c#游戏开发基于unity3d的回合制RPG游戏源码.zipc#游戏开发基于unity3d的回合制RPG游戏源码.zipc#游戏开发基于unity3d的回合制RPG游戏源码.zipc#游戏开发基于unity3d的回合制RPG游戏源码.zipc#游戏开发基于unity3d的...
3.游戏的核心玩法为卡牌收集,九宫格的回合制战斗,包含了装备系统,背包系统,成就系统,排行榜,竞技场,工会,工会战斗,世界boss,活动,签到,任务系统,邮件系统,其他丰富的副本推进玩法,已上线经过验证的...
《易语言回合制游戏源码》是一款基于易语言开发的回合制单机游戏,名为“梦想逍遥游”,它模仿了知名网络游戏《梦幻西游》的游戏模式。本游戏源码为开发者提供了二次开发的可能性,使玩家或程序员可以根据自己的需求...
基本的回合逻辑和项目框架搭建 using UnityEngine; using System.Collections; public class Fighter : MonoBehaviour { public GameObject objPic = null; public GameObject objHp = null; public GameObject ...
回合制游戏是一种玩家和敌人按顺序执行行动的游戏模式,它通常包含角色设定、战斗系统和策略元素。以下是对该主题的详细分析: 1. **C++编程语言**:C++是一种静态类型的、编译式的、通用的、大小写敏感的、不仅...
在Android平台上开发一款回合制小游戏是一项有趣的挑战,它涉及到许多Android开发的核心技术。在这个项目中,我们关注的是“Android回合制小游戏代码”,这通常是指一个简单的游戏应用,玩家按照顺序执行操作,直到...
在他们的回合开始时自动关注当前的战斗员标记(客户端设置) 为 GM 拉起其特定的演员表。 关闭之前的战斗员表或所有打开的角色表以消除混乱 将特定工作表固定到 ui 以防止它们被关闭 设置 工作表位置 - 在 ui 中...
总结起来,Unity3D仿仙剑回合制游戏源码项目展示了如何利用Unity3D引擎构建一个策略性的游戏世界,涵盖了游戏逻辑、角色状态管理、战斗系统和AI设计等多个方面。通过分析源码,开发者不仅可以学习到Unity3D的游戏...