Struts2,在jsp页面中,img标签的属性src以.action结尾,不适用于最新的Chrome浏览器

时间:2015-01-22 13:29:18

标签: image jsp google-chrome struts2

我正在使用Struts2,在我的jsp页面中,我动态设置了以src结尾的.action属性。在我的Firefox和IE中,它正在调用操作,但无法在最新的Chrome中调用操作。

需要帮助

<img src="/CRD/onlineUser/jcaptchaImage.action" width="180px" id="captchaId" height="70px" />
</div>
<s:textfield name="jCaptchaResponse" value="" title='%{getText("app.onlineUser.tooltip.captcha")}' id="onlineUser_jCaptchaResponse" />

<s:a onclick="document.getElementById('captchaId').src = 'jcaptchaImage.action#' + Math.random();" title='%{getText("app.onlineUser.tooltip.reload")}' href="#">
  <img src="<s:url value=" /images/reloadIcon.png "/>" align="absmiddle" alt="<s:text name=" app.onlineUser.tooltip.reload "></s:text>"/>
</s:a>

当我检查chrome中的元素时,我在控制台中收到以下警告:

  

“资源被解释为图像但使用MIME类型text / jpeg传输:”localhost / User / jcaptchaImage.action“。”;

Struts-config.xml文件包含:

<action name="jcaptchaImage"
        class="org.uic.cc.crd.action.onlineUser.OnlineUserAction" method="captchaGenerator"> 
        <-- Interceptors are used here -->
        <result name="success" >tiles.registrationForm</result>
    </action>

操作OnlineUserAction.java包含方法captchaGenerator()

 public String captchaGenerator() {
//Logic 
OutputStream outputStream = null;
    final String captchaId = request.getSession().getId();

            final BufferedImage image = getImageCaptchaService()
                    .getImageChallengeForID(captchaId, request.getLocale());

            // Encode to JPEG Stream

                outputStream = response.getOutputStream();
                ImageIO.write(image, IMAGE_FORMAT, outputStream);
                outputStream.close();
return null;
}

1 个答案:

答案 0 :(得分:0)

问题最终得到解决:)我用'?'代替'#'在src值,即jcaptchaImage.action#到jcaptchaImage.action? 。有效 。感谢大家 :) `

<img src="/CRD/onlineUser/jcaptchaImage.action" width="180px" id="captchaId" height="70px" />
</div>
<s:textfield name="jCaptchaResponse" value="" title='%{getText("app.onlineUser.tooltip.captcha")}' id="onlineUser_jCaptchaResponse" />

<s:a onclick="document.getElementById('captchaId').src = 'jcaptchaImage.action?' + Math.random();" title='%{getText("app.onlineUser.tooltip.reload")}' href="#">
  <img src="<s:url value=" /images/reloadIcon.png "/>" align="absmiddle" alt="<s:text name=" app.onlineUser.tooltip.reload "></s:text>"/>
</s:a>

`