怀疑是自定义标签的bug?求指点。

battle_steed 2014-10-13 04:28:01

package steed.tag.outhtml;

import java.io.IOException;

import javax.servlet.jsp.JspException;
import javax.servlet.jsp.JspWriter;
import javax.servlet.jsp.tagext.BodyContent;
import javax.servlet.jsp.tagext.BodyTagSupport;
import javax.servlet.jsp.tagext.TagSupport;

import org.apache.log4j.Logger;

import steed.util.base.BaseUtil;

public class TestJavaScript extends BodyTagSupport {
private static final long serialVersionUID = -1523362354887392103L;
@Override
public int doAfterBody() throws JspException {
return SKIP_BODY;
}

@Override
public int doStartTag() throws JspException {
return EVAL_BODY_BUFFERED;
}

@Override
public int doEndTag() throws JspException {
try {
JspWriter out = pageContext.getOut();
out.write("<h1 onclick='alert(18888);'>测试</h1>");
} catch (IOException e) {
e.printStackTrace();
}
return EVAL_PAGE;
}
}


页面正常输出:
<h1 onclick="alert(18888);">测试</h1>


但是把上面的31行改为:
out.write("<h1 onclick='alert('18888');'>测试</h1>");

页面却输出:
<h1 onclick="alert(" 18888');'="">测试</h1>


先不说单引号自动换成了双引号,等于号都多了一个。。。。
是自定义标签的bug,还是我水平问题,求各位指点。
...全文
84 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
LOVE-漂泊 2014-10-13
  • 打赏
  • 举报
回复
引用 4 楼 battle_steed 的回复:
[quote=引用 3 楼 sizhouzhou 的回复:] 用你的输出了,在我这是对的啊
应该是浏览器自动转义了,不关java的事,沙发已经解决[/quote] 解决就好!
battle_steed 2014-10-13
  • 打赏
  • 举报
回复
引用 3 楼 sizhouzhou 的回复:
用你的输出了,在我这是对的啊
应该是浏览器自动转义了,不关java的事,沙发已经解决
LOVE-漂泊 2014-10-13
  • 打赏
  • 举报
回复
用你的输出了,在我这是对的啊
battle_steed 2014-10-13
  • 打赏
  • 举报
回复
引用 1 楼 fangmingshijie 的回复:
这是html 双引号和单引号的问题,如何组合,网上很多例子。
已解决,多谢多谢。
  • 打赏
  • 举报
回复
这是html 双引号和单引号的问题,如何组合,网上很多例子。

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧