struts2 ajax jquery datatype="html" 前台显示html

struts2 ajax jquery datatype="html" 前台显示html,第1张

你那种写法是通过JSP页面直接输出才有效,如果你是通过Ajax异步调取,你应该将你需要输出的内容输出到Response流中,你的execute方法应该修改成如下:

public String execute(){

html="<h1>ss</h1>"

System.out.println("fuck you ")

// 获取输出流对象

HttpServletResponse response = ServletActionContext.getResponse()

// 向Response输出流中输出你的内容

response.getWriter().write(html)

return SUCCESS

}

这样,你通过$.get方法取到的data就是<h1>ss</h1>了

利用Struts2的webconsole.html的方法:

1、设置struts.xml中的debug模式:

struts/webconsole.html的调试功能只有在启用了调试参数的情况下才会生效,否则即使看到此页面,也不具有调试的功能。

2、当访问struts/webconsole.html,使用浏览器,按F12进行查看就会发 现,webconsole.html页面中加载了几个js脚本。如下图所示:

从图中可以看出,webconsole.html页面与后端交互时,使用了Dojo的js框架来 完成请求和应答处理,也就是说,webconsole.html页面可以与后端进行正常交互的前提是,项目中使用了Dojo的lib库。而在 Struts2中,有一个jar,专门供此功能使用的。如下图:

只有在开启了Debug模式且ClassPath中使用了struts2-dojo-plugin-*.jar的情况下,webconsole.html页面才有可能存在安全漏洞的风险。

乱码问题发生于编码方式不统一造成的,我来说一下我遇到乱码时的查找过程

1,看看项目的编码方式是否是UTF-8

2,看看html页面的编码方式是否是UTF-8

3,看看struts2的接传值编码方式是否是UTF-8,看看属性里的编码方式是否更改了。

如果还是乱码我一般会在项目里直接建立一个html空页面,然后把原html的源代码复制到刚刚建立的html空页面里,这样也能解决问题。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/6285090.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-19
下一篇 2023-03-19

发表评论

登录后才能评论

评论列表(0条)

保存