📄 loadpaper.java
字号:
package kaoshi.monitor.action;
import java.io.*;
import java.util.*;
import org.jdom.*;
import org.jdom.input.*;
import org.jdom.output.*;
import javax.servlet.ServletContext;
import javax.servlet.http.*;
import org.apache.struts.action.*;
import kaoshi.bean.*;
public class LoadPaper extends Action {
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception
{
HttpSession session = request.getSession();
ServletContext application = session.getServletContext();
String filePath = application.getRealPath("/WEB-INF/paper/paper.xml");
FileInputStream fis = new FileInputStream(filePath);
//实例化一个SAXBuilder类,来操作XML文档
SAXBuilder sb = new SAXBuilder();
//从文件构造一个Document,因为XML文件中已经指定了编码,所以这里不必了
Document doc = sb.build(fis);
Element paper = doc.getRootElement();
String paperName = paper.getAttributeValue("name");
String paperAuthor = paper.getAttributeValue("author");
application.setAttribute("paperName", paperName);
application.setAttribute("paperAuthor", paperAuthor);
//选择题
ArrayList selectType = new ArrayList();
try {
Element p1 = paper.getChild("selectType");
List questions = p1.getChildren();
for (int i=0; i<questions.size(); i++) {
Element q = (Element)questions.get(i);
Question question = new Question();
question.setId(q.getAttributeValue("id"));
question.setScore(q.getAttribute("score").getDoubleValue());
question.setSpecify(HtmlSpecialCharater.filter(q.getAttributeValue("specify")));
question.setReference(q.getAttributeValue("reference"));
//System.out.println(question.getSpecify());
List ops = q.getChildren();
ArrayList options = new ArrayList();
for (int j=0; j<ops.size(); j++) {
Element op = (Element)ops.get(j);
Option option = new Option();
option.setId(op.getAttributeValue("id"));
option.setText(HtmlSpecialCharater.filter(op.getAttributeValue("text")));
//System.out.println(option.getText());
options.add(option);
}
question.setOptions(options);
selectType.add(question);
}
} catch (Exception ex) {}
ArrayList selectType2 = (ArrayList)selectType.clone();
//主观题
ArrayList uploadType = new ArrayList();
try {
Element p2 = paper.getChild("uploadType");
List questions = p2.getChildren();
for (int i=0; i<questions.size(); i++) {
Element q = (Element)questions.get(i);
Question question = new Question();
question.setSpecify(q.getAttributeValue("specify"));
uploadType.add(question);
}
} catch (Exception ex) {}
fis.close();
application.setAttribute("selectType", selectType);
application.setAttribute("selectType2", selectType2); //用于生成答题卡
application.setAttribute("uploadType", uploadType);
return mapping.findForward("paper");
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -