1
回答
freemarker img src是一个后台地址,跳转到一个jsp页面访问不到
开发十年,就只剩下这套Java开发体系了   

以前项目是用jsp做的。里面有个验证码的代码,现在需要将项目一直到jfinal上。

而我发现验证码这块不能执行。

首先页面上代码是


<img src="login/random" id="random" hspace="5" width="85" height="35"/>


这里会访问到


public void random(){
		renderJsp("/view/random.jsp");
	}
这里面,这里面会返回到



<%@page import="javax.imageio.ImageIO"%>  
<%@page import="java.awt.image.BufferedImage"%>  
<%@page import="industry.util.ImageCode"%>
<%   
    out.clear();  
    response.setDateHeader("Expires", 0);  
    // Set standard HTTP/1.1 no-cache headers.  
    response.setHeader("Cache-Control",  
            "no-store, no-cache, must-revalidate");  
    // Set IE extended HTTP/1.1 no-cache headers (use addHeader).  
    response.addHeader("Cache-Control", "post-check=0, pre-check=0");  
    // Set standard HTTP/1.0 no-cache header.  
    response.setHeader("Pragma", "no-cache");  
  
    // return a jpeg  
    response.setContentType("image/jpeg");  
  
    // create the text for the image  
    String capText = ImageCode.getProducer().createText();  
    // store the text in the session  
    request.getSession().setAttribute("random", capText);  
  
    // create the image with the text  
    BufferedImage bi = ImageCode.getProducer().createImage(capText);  
  
    ServletOutputStream outStr = response.getOutputStream();  
  
    // write the data out  
    ImageIO.write(bi, "jpg", outStr);  
    try {  
        outStr.flush();
    } finally {
    	out.clear();  
    	out = pageContext.pushBody();
        outStr.close();
    }  
%>
这段代码在jsp中是可以执行的。


但是在freemarker中,访问这个地址会进行重定向

而在以前的jsp里面不会

我不知道是freemarker的问题还是我在运用jfinal时出现了问题。

@JFinal

举报
诺灬晓月
发帖于5年前 1回/1K+阅
顶部