没有显示问题,但不起作用-dwr

大家好,我正在使用dwr处理java-servlet中的ajax调用,

这是我的dwr.xml,

<?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>

<create creator="new" javascript="TempCardServlet">

<param name="class" value="com.slingmeadia.notifier.servlet.TempCardServlet"/>

</create>

</allow>

</dwr>

这是我的servlet文件,因此我将

package com.slingmeadia.notifier.servlet;

import java.io.IOException;

import java.io.PrintWriter;

import java.util.LinkedHashMap;

import java.util.Map;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import javax.servlet.http.HttpSession;

public class TempCardServlet extends HttpServlet {

@Override

protected void doPost(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

String funtionType="";

if(request.getParameter("functiontype")!=null){

funtionType = (String)request.getParameter("functiontype");

}

if(funtionType.equals("logout")){

processLogout(request, response);

}else{

}

}

@Override

protected void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

processLogout(request, response);

}

public Map sampleFill(int empid,String functiontype){

System.out.println("functiontype : "+functiontype);

Map employeeData = new LinkedHashMap();

if(functiontype.equals("add")){

employeeData.put("name", "Antony");

}else{

employeeData.put("name", "Antony");

employeeData.put("cardnumber", "87896857852");

employeeData.put("issuedate", "17/01/2012");

}

return employeeData;

}

}

这就是我从jsp文件中调用方法的方式:

<script src='dwr/engine.js'></script>

<script src='dwr/util.js'></script>

<script src='dwr/interface/TempCardServlet.js'></script>

<script>

function getValues(id) {

var empid = id.value;

var optionValue = document.getElementById("selectedOption").value;

TempCardServlet.sampleFill(empid,optionValue,{callback:setValues,async:false});

}

function setValues(tempcardMap) {

if(tempcardMap !=null){

document.getElementById("empname").value=tempcardMap.name;

document.getElementById("tempcardnumber").value=tempcardMap.cardnumber;

document.getElementById("dateofissue").value=tempcardMap.issuedate;

}

}

</script>

这就是我如何调用javascript方法:

<td width="55%"><input class="inputBoxes" type="text" name="empid" id="empid" onblur="getValues(this)" /></td>

看起来一切都安排得很好,没有问题,但它没有用,也没有任何不适。

我也尝试过喜欢

在我输入的网址中 http://localhost:8080/acct/dwr/index.html

它提供了DWR已知的类的列表:当我尝试从浏览器打开类文件并提供一些示例输入时,我的类文件也存在,但没有给出任何错误,也没有输出。

请帮助我解决此问题。

问候。

回答:

1.检查DWR路径

如果您要在WEB-INF中包含查看文件,则

<script src='dwr/engine.js'></script>         

<script src='dwr/util.js'></script>

<script src='dwr/interface/TempCardServlet.js'></script>

引用此方式将起作用。如果不是这样,则必须给出如下所示的正确路径

<script src='../dwr/engine.js'></script> 

<script src='../dwr/util.js'></script>

<script src='../dwr/interface/TempCardServlet.js'></script>

以上是 没有显示问题,但不起作用-dwr 的全部内容, 来源链接: utcz.com/qa/401471.html

回到顶部