我正在尝试编写JSP页面。但我已多次读过JSP页面中的源代码是一种不好的做法。然后我尝试在同一个包中编写一个不同的类,并在该JSP页面中调用它。
这是JSP代码:
<jsp:useBean id="link" scope="application" class = "tms.TestJava" />
<%
TestJava t=new TestJava();
t.test();
%>
这是类代码:
public class TestJava {
public void test() throws IOException
{
System.out.println("sdds");
}
}
我已将该类导入JSP页面。
现在的问题是,当我在类(测试方法)中使用System.out.println时,它会被打印到控制台上,我希望它将它打印到JSP页面。我怎样才能做到这一点?有单独的方法吗?我是否必须使该类成为servlet?
谢谢!
答案 0 :(得分:2)
尝试使用代码库:JSTL
具体做法是:
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<html>
<head>
<title><c:out> Tag Example</title>
</head>
<body>
<c:out value="${'<tag> , &'}"/>
</body>
</html>
或者更好的是,因为您已经在使用JavaBeans,所以重构以便不再使用System.out()
。我们的想法是,您希望在页面中显示bean的属性。考虑:JavaBeans所以做这样的事情:
<强>爪哇强>
public class Course{
private String code = "Math";
public String getCode(){
return code;
}
}
<强> JSP 强>
<jsp:useBean id="course" class="com.javaBeans.Course" />
<jsp:getProperty name="course" property="code"/>
首先,您不希望仅System.out()
到页面。该页面应该是服务器上组件数据的view
,在这种情况下是bean。
答案 1 :(得分:1)
我认为你以错误的方式解决这个问题,但这是一个可能的解决方案......
<head>
<%@ page language="java" import="tms.TestJava"%>
</head>
<body>
<%=TestJava.getAString()%>
<%=TestJava.getAString()%>
<%=TestJava.getAString()%>
<%=TestJava.getAString()%>
<%=TestJava.getAString()%>
</body>
public String getAString(){
return "<li></li>";
}
如果您的目标是构建动态JSP,您可能希望将JSTL视为上述人员,查看定义自己的标签等等。我不会想到很多新开发人员正在使用scriplet代码。