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

Struts2, in jsp page, img tag's attribute src ends with .action, Not working in latest Chrome browser

我正在使用 Struts2,在我的 jsp 页面中,我动态设置了以 .action 结尾的 src 属性。在我的 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 中的元素时,我在控制台中收到以下警告:

"Resource interpreted as Image but transferred with MIME type 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;
}

问题终于解决了:) 我用'?'替换了'#'在 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>

`