3月29日 工作日记

3月29日,天气晴天,太阳非常大,热死了
今天用Spring+WebWork+Hibernate做一个注册用户的例子
没什么问题,不过用了一下Dwr检验用户名是否存在,下面来记录一下
把DWR的包导入进去,在/WEB-INF/目录下创建一个dwr.xml文件
代码如下:
[code]
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dwr PUBLIC
"-//GetAhead Limited//DTD Direct Web Remoting 1.0//EN"
"http://www.getahead.ltd.uk/dwr/dwr10.dtd">
<dwr>
<allow>
<create javascript="Validate" creator="spring">
<param name="beanName" value="validate"/>
</create>
</allow>
</dwr>
[/code]
[code]
<create javascript="Validate" creator="spring">
[/code]
创建一个Validate.js的文件,以spring 方式
[code]
<param name="beanName" value="validate"/>
[/code]
对应spring 文件里bean 的id
代码如下:
[code]
<bean id="validate" class="com.esc.web.action.Validate">
<property name="userService">
<ref bean="userService"/>
</property>
</bean>
[/code]
在web.xml文件配置如下:
[code]
<!-- dwr配置 -->
<servlet>
<servlet-name>dwr</servlet-name>
<servlet-class>
org.directwebremoting.servlet.DwrServlet
</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>true</param-value>
</init-param>

</servlet>
<servlet-mapping>
<servlet-name>dwr</servlet-name>
<url-pattern>/dwr/*</url-pattern>
</servlet-mapping>
<!-- 配置这个是应该dwr要找到applicationContext.xml的文件路径,否则dwr找不到文件 -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext.xml</param-value>
</context-param>
[/code]
Validate.java文件
[code]
public class Validate {
private IUserService userService;

public void setUserService(IUserService userService) {
this.userService = userService;
}

public Validate() {
// TODO 自动生成构造函数存根
}
public boolean validateUserName(String username){
//验证用户名是否存在
return userService.validateUserName(username);
}
}
[/code]
页面调用:
[code]
<script type='text/javascript' src='dwr/engine.js'></script>
<script type='text/javascript' src='dwr/util.js'></script>
<script type='text/javascript' src='dwr/interface/Validate.js'></script>
[/code]
前面2个是dwr自带的js
第3个 是我们在dwr.xml自已定义的js文件,名字要相同
[code]
function validUserName(){
var f=document.Register;
var name=f.username.value;
if(name==""){
alert("请输入用户名!");
}else{
if(!isUserName(name)){
alert("输入的用户名不符合要求!");
}else{
Validate.validateUserName(name,msg)
}
}
}
[/code]
Validate.validateUserName(name,msg)
是执行Validate.java 里面的validateUserName方法
把name传进去,msg 是另一个function
这样写直接能把值传过去,自已执行msg(b)
[code]
function msg(b){
if(b){
alert("用户名已经存在,请重新输入!");
document.Register.username.value="";
document.Register.username.focus();
}else{
alert("用户名不存在,可以使用!");
}
}

[/code]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值