我通过如下代码读取xunjian2.jsp文件后,将文件内容以response流的方式输出到页面上,但是<%%>中的java代码不被执行,不知道什么原因,是因为逐行输出后该段代码被识别成一般文本还是其他什么原因
我是想在输出的页面得到request对象中的值,有什么办法么PrintWriter fs=response.getWriter();
InputStreamReader isr = new InputStreamReader(new FileInputStream("D:/xunjian2.jsp"), "UTF-8");
BufferedReader b=new BufferedReader(isr);
String s=null;
while ((s=b.readLine())!=null){
fs.write(s);
}
fs.flush();
fs.close();xunjian2.jsp文件内容如下
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GBK">
<title>Insert title here</title></head>
<body>
<div style="width: 100%;vertical-align: middle;color: #FFF;">
<%
String id1="111111111";
String id2=request.getParameter("procInstID");
out.print(id2);
%>
<script type="text/javascript">
var id1='<%=id1%>';
alert(id1);
</script>
<div>
</body>
</html>
我是想在输出的页面得到request对象中的值,有什么办法么PrintWriter fs=response.getWriter();
InputStreamReader isr = new InputStreamReader(new FileInputStream("D:/xunjian2.jsp"), "UTF-8");
BufferedReader b=new BufferedReader(isr);
String s=null;
while ((s=b.readLine())!=null){
fs.write(s);
}
fs.flush();
fs.close();xunjian2.jsp文件内容如下
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GBK">
<title>Insert title here</title></head>
<body>
<div style="width: 100%;vertical-align: middle;color: #FFF;">
<%
String id1="111111111";
String id2=request.getParameter("procInstID");
out.print(id2);
%>
<script type="text/javascript">
var id1='<%=id1%>';
alert(id1);
</script>
<div>
</body>
</html>
正确答案在此。你读入的不过是字符串,是没办法执行的。如果你想执行一个jsp中的代码,除非自己写一个web容器,或者模板引擎。