java - jsp can't redirect page using response -
i can't redirect page response.sendredirect(url);
i can redirect link in common jsp page, failed send in function defined in jsp page. in case, redirecting within function, how solve that?
fyi, error "response cannot resolved".
below part of source code:
<%@ page language="java" contenttype="text/html; charset=utf-8" pageencoding="utf-8" %> <%@ page import="javax.mail.*"%> <%@ page import="javax.mail.internet.*"%> <%@ page import="javax.activation.*"%> <%@ page import="java.util.*,java.io.*"%> <%@ page language="java" %> <%@ page import="com.mysql.jdbc.driver" %> <%@ page import="java.sql.*" %> <%! public void sendsms(string nickname, string setaname, string curraname, string tophone){ string acctinfo="xxx"; string acctpwd="xxx"; string contents="message miss u:( \n please reminded friend:"+nickname+" out of setting area: "+setaname+". current area "+curraname+"."; string smsurl="http://api.accessyou.com/sms/sendsms-utf8.php?msg="+contents+"&phone="+tophone+"&pwd="+acctpwd+"&accountno="+acctinfo; response.sendredirect(smsurl); } %>
when call helper function have pass in response object. reason being jsps gets translated java code, compiled can run on jvm. things between <%!...%> translated helper methods has different context code in <%...%>.
your jsp translated this:
public class myjsp { public void dopost(httpservletrrequest request, httpservletresponse response) { /* tons of code compiled off jsp */ sendsms(...) } private void sendsms(string nickname, string setanmae...) { string acctinfo="xxx"; response.sendredirect(...); // error, there no response object in local context } } something work
%@ page language="java" contenttype="text/html; charset=utf-8" pageencoding="utf-8" %> <%@ page import="javax.mail.*"%> <%@ page import="javax.mail.internet.*"%> <%@ page import="javax.activation.*"%> <%@ page import="java.util.*,java.io.*"%> <%@ page language="java" %> <%@ page import="com.mysql.jdbc.driver" %> <%@ page import="java.sql.*" %> <% sendsms(arg1, arg2, arg3, ar4, response) %> <%! public void sendsms(string nickname, string setaname, string curraname, string tophone, servletresponse response){ string acctinfo="xxx"; string acctpwd="xxx"; string contents="message miss u:( \n please reminded friend:"+nickname+" out of setting area: "+setaname+". current area "+curraname+"."; string smsurl="http://api.accessyou.com/sms/sendsms-utf8.php?msg="+contents+"&phone="+tophone+"&pwd="+acctpwd+"&accountno="+acctinfo; response.sendredirect(smsurl); } %> notice how in sendsms don't have direct access request , response object.
Comments
Post a Comment