Java 在JSP文件中正确使用函数
我想使用jsp文件中的函数打印出3个按钮。什么是正确的方式,因为我的方式似乎是错误的Java 在JSP文件中正确使用函数,java,javascript,html,jsp,Java,Javascript,Html,Jsp,我想使用jsp文件中的函数打印出3个按钮。什么是正确的方式,因为我的方式似乎是错误的 <%@page contentType="text/html" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Test Page</title>
<%!
int j = 3;
%>
<%!
public void manyButtons() {
for (int i = 0; i < j; i++) {
%>
<input type="button" value="button<%=i%>"/>
<%!
}
}
%>
</head
>
<body>
<% manyButtons(); %>
</body>
</html>
测试页
正如评论中所说,您希望避免使用Java进行此操作。谢天谢地,您可以轻松地使用JSTL完成这项工作。使用forEach循环,如下所示:
<c:forEach var="i" begin="1" end="3" step="1" varStatus="status">
<input type="button" value="button${i}"/>
</c:forEach>
这应该复制您正在尝试的操作 我不是JavaEE开发人员,但据我所知,您的JSP将被转换为servlet,其中包含您正在创建的方法。您必须知道,
request
和response
对象被传递给service()
方法,因此默认情况下,您的方法将无法访问响应对象,因此它无法从响应将输出数据放入写入器
如果您确实必须使用方法(我可能会为他使用JSTL like+1中的
),您可以将方法中生成的数据作为字符串返回,并在
中使用它们。我的意思是
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Test Page</title>
<%!
public String manyLabels(int j) {
StringBuilder sb=new StringBuilder();
for (int i = 0; i < j; i++) {
sb.append("<input type=\"button\" value=\"button"+i+"\"/>");
}
return sb.toString();
}
%>
</head
>
<body>
<%= manyLabels(3) %>
</body>
</html>
测试页
避免在JSP中使用java编码,它们会变得非常混乱。随着代码的增加,您将很难识别匹配的大括号和标记。是的,它看起来确实错了。另外,对你想要实现的目标的解释还不够清楚。我想打印3个按钮。我正在调用函数manyButtons(),该函数假定从JSP主体执行此操作。