2016-08-02 101 views
0

我在尝试将变量传递给JSP时遇到了问题。这是我的servlet代码:

public class TwilioServlet extends HttpServlet { 

    private static final long serialVersionUID = 3645708904327108592L; 
    public static final String ACCOUNT_SID = "account_sid"; 
    public static final String AUTH_TOKEN = "auth_token"; 
    public static final String APP_SID = "app_sid"; 

    public void service(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { 

     TwilioCapability capability = new TwilioCapability(ACCOUNT_SID, AUTH_TOKEN); 
     capability.allowClientOutgoing(APP_SID); 

     String token = null; 
     try { 
      token = capability.generateToken(); 
     } catch (DomainException e) { 
      e.printStackTrace(); 
     } 
     // Forward the token information to a JSP view 
     response.setContentType("text/html"); 
     request.setAttribute("token", token); 
     System.out.println("Capability toke is " + token); 
     RequestDispatcher view = request.getRequestDispatcher("client.jsp"); 
     view.forward(request, response); 
    } 
} 

而且,这是我的client.jsp文件:

<!DOCTYPE html> 
<html> 
    <head> 
    <title>Hello Client Monkey 1</title> 
    <script type="text/javascript" 
     src="//media.twiliocdn.com/sdk/js/client/v1.3/twilio.min.js"></script> 
    <script type="text/javascript" 
     src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"> 
    </script> 
    <link href="//static0.twilio.com/resources/quickstart/client.css" 
     type="text/css" rel="stylesheet" /> 
    <script type="text/javascript"> 

    /* Create the Client with a Capability Token */ 
    Twilio.Device.setup("${token}", {debug: true}); 

    /* Let us know when the client is ready. */ 
    Twilio.Device.ready(function (device) { 
     $("#log").text("Ready"); 
    }); 

    /* Report any errors on the screen */ 
    Twilio.Device.error(function (error) { 
     $("#log").text("Error: " + error.message); 
    }); 

    Twilio.Device.connect(function (conn) { 
     $("#log").text("Successfully established call"); 
    }); 

    /* Connect to Twilio when we call this function. */ 
    function call() { 
     Twilio.Device.connect(); 
    } 
    </script> 
    </head> 
    <body> 
    <button class="call" onclick="call();">Call</button> 

    <div id="log">Loading pigeons...</div> 
    </body> 
</html> 

这是this tutorial

我通过以下网址来访问我页面:

http://localhost:8080/TwillioTest1/TwilioServlet 

为什么不${token}被取代?

回答

1

可能的答案你的问题 - click。不要害怕使用Google的力量。

更新

至于建议由@dur我包括链接在这里的部分答案:

从web.xml中删除DOCTYPE和所有应该很好。一个有效的Servlet 3.0(7的Tomcat,JBoss应用服务器6/7,GlassFish的3等)兼容的web.xml样子其全文下面,没有任何DOCTYPE:

<?xml version="1.0" encoding="UTF-8"?> 
<web-app 
xmlns="http://java.sun.com/xml/ns/javaee" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" 
version="3.0"> 
</web-app> 
0

EL表达式可被禁用;你可能必须在你的web.xml中激活它们。 Can you try this?

相关问题