`
林里风咏
  • 浏览: 12774 次
  • 性别: Icon_minigender_1
  • 来自: 湖南长沙
最近访客 更多访客>>
社区版块
存档分类
最新评论

DWR为什么弹出了类名,而不进方法

 
阅读更多
写一个输入信息框,填写编号时,检查编号是不是存在,用DWR测试时候弹出了对应的类名而没有进入类里面的方法(方法里面有断点)。请哪位指点一下,错误在什么地方,不胜感谢!!
dao类:
public int checkNo(String productId) {
		int count = 0;
		// String productId = form.getProductId();
		String sql = "select a.* from product a where a.product_id=?";
		System.out.println("sql:====" + sql);
		List list = new ArrayList();
		Connection con = ConnectionDB.getDataSource();
		try {
			PreparedStatement pst = con.prepareStatement(sql);
			pst.setString(1, productId);
			ResultSet set = pst.executeQuery();
			while (set.next()) {
				list.add(set.getString(1));
				list.add(set.getString(2));
				list.add(set.getString(3));
			}
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		if (list.size() > 0) {
			count = 1;
		} else {
			count = 0;
		}
		return count;
	}



JSP页面:在这个页面输入产品编号以后,失去焦点就检查是不是存在编号,调用JS里面方法,但就是不行:
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@taglib uri="http://struts.apache.org/tags-html" prefix="html"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>录入产品信息</title>
    
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<link rel="stylesheet" type="text/css" href="css/table.css">
	<link rel="stylesheet" type="text/css" href="css/form.css">
	<link rel="stylesheet" type="text/css" href="css/vbulletin.css">
	
	
	<script type='text/javascript' src='/ZStruts/dwr/interface/JCheckNo.js'></script>
    <script type='text/javascript' src='/ZStruts/dwr/engine.js'></script>
    <script type='text/javascript' src='/ZStruts/dwr/util.js'></script>

	
	
	<script type="text/javascript">
		function checkProductNo(flag){
		var productNo = flag.value;
			if(productNo==""){
				alert("编号不能为空");
				flag.focus();
				return;
			}else{
			alert("======");
			JCheckNo.checkNo(productNo,check);}
		}
		
		function check(flag){
			alert(flag);
			if(flag==1){
				alert("编号已存在!");
				document.forms[0].elements["productId"].focus();
			}
		}
		
	</script>

  </head>
  
  <body>
  		<br/>
  		<br/>
    	<html:form action="saveProductList.do">
    	 <table align="center">
    	 	<caption><font size="5">录入产品信息</font></caption>
    	 	<tr>
    	 		<td>产品编号</td>
    	 		<TD><html:text property="productId" onblur="checkProductNo(this)" ></html:text></TD>
    	 	</tr>
    	 	<tr>
    	 		<td>产品名称</td>
    	 		<TD><html:text property="productName"></html:text></TD>
    	 	</tr>
    	 	<tr>
    	 		<td>产品价格</td>
    	 		<TD><html:text property="productPrice"></html:text></TD>
    	 	</tr>
    	 	<tr >
    	 		<td colspan=2>
    	 			<html:submit value="保存"></html:submit>
    	 		</td>
    	 	</tr>
    	 </table>
    	</html:form>
  </body>
</html>



Struts配置文件:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd">

<struts-config>
	<data-sources />
	<form-beans>
		<form-bean name="saveProductForm" type="cn.com.jasonlee.form.ProductFrom"></form-bean>
		<form-bean name="searchProductForm" type="cn.com.jasonlee.form.ProductFrom"></form-bean>
		<form-bean name="testDwr" type="cn.com.jasonlee.form.ProductFrom"></form-bean>
	</form-beans>
	<global-exceptions />
	<global-forwards>
		<forward name="saveProduct" path="/SaveProduct.jsp"></forward>
		<forward name="searchProduct" path="/SearchProduct.jsp"></forward>
	</global-forwards>
	<action-mappings>
		<action name="saveProductForm" path="/saveProductList" scope="request"
			type="cn.com.jasonlee.action.SaveProductAction">
			<forward name="save" path="/Save.jsp"></forward>
		</action>
		<action name="searchProductForm" path="/searchProduct" scope="request"
			type="cn.com.jasonlee.action.SearchProductAction">
			<forward name="search" path="/search.jsp"></forward>
		</action>
		<action name="testDwr" path="/testDwr" scope="request"
			type="cn.com.jasonlee.test.TestDwr">
			<forward name="save" path="/Save.jsp"></forward>
		</action>
	</action-mappings>
	<message-resources parameter="struts.ApplicationResources" />
</struts-config>


DWR配置文件
<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE dwr PUBLIC 
"-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN" "http://getahead.org/dwr/dwr20.dtd">

<dwr>
	<allow>
		//在jsp 页面里面通过JUserInfoBiz来调用checkName方法
		<create javascript="JCheckNo" creator="new">
			// 你所调用的是哪一个类
			<param name="class" value="cn.com.jasonlee.dao.ProductDao" />
			// 这个类里面的方法的名称
			<include method="checkNo" />
		</create>
		<create javascript="TestDWR" creator="new">
			// 你所调用的是哪一个类
			<param name="class" value="cn.com.jasonlee.test.TestDwr" />
			// 这个类里面的方法的名称
			<include method="hello" />
		</create>
		<convert converter="bean" match="java.lang.StackTraceElement" />  
		<convert converter="exception" match="java.lang.Exception"/> 
	</allow>
</dwr>
分享到:
评论

相关推荐

    dwr配置文件详解 dwr.xml配置文件详解

    dwr配置文件是一个XML文件,名称通常为dwr.xml。它的结构主要包括以下几个部分: * `dwr`:根元素,用于定义DWR的配置设置。 * `allow`:定义允许远程调用的Java对象和方法。 * `create`:定义如何创建Java对象的...

    DWR配置文件详解,DWR配置

    `include`列出允许访问的方法,`exclude`列出禁止访问的方法。如果两者都存在,DWR会优先考虑`include`列表。 ### 6. `&lt;signatures&gt;` 段落 `&lt;signatures&gt;`部分用于定义Java方法的签名,特别是当方法参数类型复杂时...

    DWR2学习整理资料

    5. **配置dwr.xml**:在dwr.xml中配置服务类及其暴露给客户端的Java方法,包括构造器类型和JS类名。 6. **JSP使用**:在JSP页面中引入DWR的核心引擎engine.js、工具包util.js以及自动生成的DWRService.js。在...

    dwr 实例(MyEclipse开发,包括dwr所用jar包)

    - **dwr.xml配置**:定义允许客户端访问的服务器端方法,包括类名、方法名等。 3. **MyEclipse中创建DWR项目** - **创建新项目**:在MyEclipse中新建一个Web项目,然后导入DWR的jar包。 - **创建Java类**:编写...

    dwr与反射相结合案例

    通过获取类名并实例化相应的Java类,DWR可以将接收到的JSON或XML数据转换为相应的Java对象。 2. **私有方法调用**:某些情况下,可能需要调用服务器端类的私有方法。通过反射,DWR可以绕过访问控制,直接调用这些...

    DWR中文文档pdf文档 实例下载

    反射是Java的一个强大特性,它允许程序在运行时动态地获取类的信息(如类名、属性、方法等)并调用其方法。在DWR中,反射被用来实现JavaScript和Java方法之间的映射。DWR通过反射动态地创建Java对象,然后将这些对象...

    dwr.xml文件的配置和入门使用

    dwr.xml 文件是 DWR 的核心配置文件,用于定义哪些 Java 类可以被远程访问和如何将 Java 对象转换为 JavaScript 对象本文将详细讲解 dwr.xml 文件的配置和入门使用。 在 dwr.xml 文件中, `&lt;allow&gt;` 标签用于定义...

    DWR入门教程

    - **不支持方法重载**:DWR不支持JavaScript中的方法重载,因此在Java中设计API时应避免使用相同方法名但参数不同的情况。 ### 结语 DWR简化了服务器推送技术的实现,让开发者能够轻松创建实时交互的Web应用。通过...

    dwr.xml文件

    `servlet`元素定义了一个名为`dwr-invoker`的Servlet,其具体实现类为`uk.ltd.getahead.dwr.DWRServlet`。`DWRServlet`是DWR的核心组件,负责处理所有与DWR相关的请求。`init-param`元素则定义了初始化参数`debug`,...

    DWR即时通讯

    DWR(Direct Web Remoting)是一种开源的Java库,它允许JavaScript在浏览器中直接调用服务器端的Java方法,实现Web应用中的实时双向通信。DWR简化了Ajax开发,使得开发者可以像操作本地对象一样操作远程对象,从而...

    dwr框架详细介绍 讲解浅显易懂

    例如,没有使用`@RemoteMethod`的方法在客户端是不可见的。在dwr.xml文件中,这些注解对应的配置如下: ```xml &lt;dwr&gt; &lt;/dwr&gt; ``` **Spring集成** 如果你的应用使用Spring框架,DWR可以与Spring无缝集成...

    DWR与界面开发

    1. **允许访问的类和方法**:通过`&lt;allow&gt;`标签指定,可以设置类、包或全局允许的类名。 2. **安全控制**:`&lt;convert&gt;`标签用于指定数据类型的转换,例如将Java对象转化为JSON格式。 3. **CSP(Content Security ...

    DWR3.0例子(注解)

    - **配置 dwr.xml**:在配置文件中声明远程接口,指定类名和允许访问的方法。 - **生成 JavaScript API**:DWR 会自动生成与 Java 类对应的 JavaScript 接口,供前端使用。 - **前端调用**:在 HTML 页面中,通过...

    dwr实战

    DWR(Direct Web Remoting)是一种简化JavaScript调用Java方法的技术,它允许Web应用程序的客户端直接访问服务器端的Java对象,从而实现Ajax功能而无需编写复杂的XML或JSON序列化代码。本文将通过一个实战案例,详细...

    dwr配置文件详解

    `creator`是用来创建服务器端对象的,例如Spring Bean,而`converter`则负责将Java对象转换为JavaScript能理解的格式。`id`属性是唯一的标识符,便于在其他部分引用。`init`部分不是必须的,只有当需要自定义创建或...

    dwr消息推送功能

    DWR 提供了一种简单的方法来将 Java 对象暴露给 JavaScript,允许 JavaScript 调用 Java 方法,以及让 Java 方法调用 JavaScript 函数。在实现消息推送方面,DWR 提供了强大的支持。 #### 实现原理 DWR 消息推送的...

    spring与dwr整合(简单)

    5. **DWR 配置**:在 DWR 的配置文件(通常为 `dwr.xml`)中,声明刚刚创建的远程 Java 对象。通过 `&lt;create&gt;` 标签指定类名,以及要暴露给客户端的方法。 6. **前端使用**:在 HTML 或 JavaScript 文件中,引入 ...

    一个简单dwr的使用例子,tomcat数据库连接池

    总的来说,这个例子是一个结合了DWR、Ajax和Tomcat数据库连接池的简单应用,它演示了如何在不刷新整个页面的情况下,通过Ajax技术实现与后台数据库的交互,提升用户体验。理解并熟练运用这些技术,对于开发高效、...

    DWR所需要的包与基本web.xml

    2. **DWR Servlet**:声明一个名为`dwr-invoker`的Servlet,它会处理DWR的请求。在这里,你需要指定Servlet的类名`org.directwebremoting.servlet.DwrServlet`。 3. **DWR初始化参数**:设置DWR的一些配置参数,...

Global site tag (gtag.js) - Google Analytics