我是JSP和Web应用程序的新手,遇到了一个问题。我看过很多文章,但没有设法使用 Java 从文件中加载数据并将其显示在网页上。
我正在主函数中读取数据并使用 JSP 显示它。
下面是 java 类的代码:
package org.mypackage.hello;
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
import java.util.logging.Level;
import java.util.logging.Logger;
public class NameHandler {
private String name;
private String type;
private String assignmentName;
private String moduleCode;
private String moduleName;
private String weight;
private String date;
public NameHandler() {
name = name;
type = null;
assignmentName = null;
moduleCode = null;
moduleName = null;
weight = null;
date = null;
}
/**
* @return the name
*/
public String getName() {
return name;
}
/**
* @param name the name to set
*/
public void setName(String name) {
this.name = name;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public String getAssignmentName() {
return assignmentName;
}
public void setAssignmentName(String assignmentName) {
this.assignmentName = assignmentName;
}
public String getModuleCode() {
return moduleCode;
}
public void setModuleCode(String moduleCode) {
this.moduleCode = moduleCode;
}
public String getModuleName() {
return moduleName;
}
public void setModuleName(String moduleName) {
this.moduleName = moduleName;
}
public String getWeight() {
return weight;
}
public void setWeight(String weight) {
this.weight = weight;
}
public String getDate() {
return date;
}
public void setDate(String date) {
this.date = date;
}
public static void main(String[] args) {
NameHandler obj = new NameHandler();
try (Scanner read = new Scanner (new File("file.txt"))) {
read.useDelimiter(",");
while(read.hasNext()){
obj.setType(read.next());
obj.setAssignmentName(read.next());
obj.setModuleCode(read.next());
obj.setModuleName(read.next());
obj.setWeight(read.next());
obj.setDate(read.next());
System.out.println(obj.getType());
System.out.println(obj.getAssignmentName());
System.out.println(obj.getModuleCode());
System.out.println(obj.getModuleName());
System.out.println(obj.getWeight());
System.out.println(obj.getDate());
System.out.println("-------------------------");
}
read.close();
} catch (FileNotFoundException ex) {
Logger.getLogger(NameHandler.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
这是索引 html 文件:
<html>
<head>
<title>TODO supply a title</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body>
<h1>Entry Form</h1>
<form name="Name Input Form" action="response.jsp">
Enter your name:
<input type="text" name="name" />
<input type="submit" value="OK" />
</form>
</body>
下面是 jsp 文件:
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<jsp:useBean id="mybean" scope="session" class="org.mypackage.hello.NameHandler" />
<jsp:setProperty name="mybean" property="name" />
<jsp:getProperty name="mybean" property="name" />
<jsp:useBean id="stringBean" class="org.mypackage.hello.NameHandler" />
<jsp:setProperty name="stringBean" property="assignmentName" value="propertyValue" />
<ol>
<li><jsp:getProperty name="stringBean" property="assignmentName" /></li>
<li><jsp:getProperty name="stringBean" property="type" /></li>
<li><jsp:getProperty name="stringBean" property="moduleCode" /></li>
<li><jsp:getProperty name="stringBean" property="moduleName" /></li>
<li><jsp:getProperty name="stringBean" property="weight" /></li>
<li><jsp:getProperty name="stringBean" property="date" /></li>
</ol>
</body>
</html>
我已经看到您可以将JSP文件与java类链接,但我真的不知道是否可以将其与主要内容链接。它继续打印空。
您已在 main
方法中输入了用于设置值的代码,该方法未执行。例如,将其移动到 NameHandler
构造函数。但是,设置值的正确位置是在另一个类中。