62,628
社区成员
发帖
与我相关
我的任务
分享package com.itheima.bos.domain;
import java.util.HashSet;
import java.util.Set;
/**
* Student entity. @author MyEclipse Persistence Tools
*/
public class Student implements java.io.Serializable {
// Fields
private String sid;
private Grade grade;//班级
private Specialty specialty;//专业
private Academy academy;//学院
private Teacher teacher;//指导教师
private Graduationname graduationname;//毕设课题
private String spassword;
private String sname;
private String ssex;
private Integer sage;
private Integer first;//开题成绩
private Integer middle;//中期成绩
private Integer finish;//结业成绩
private Set replygroups = new HashSet(0);//答辩小组
// Constructors
/** default constructor */
public Student() {
}
/** minimal constructor */
public Student(String sid) {
this.sid = sid;
}
/** full constructor */
public Student(String sid, Grade grade, Specialty specialty,
Academy academy, Teacher teacher, Graduationname graduationname,
String spassword, String sname, String ssex, Integer sage,
Integer first, Integer middle, Integer finish, Set replygroups) {
this.sid = sid;
this.grade = grade;
this.specialty = specialty;
this.academy = academy;
this.teacher = teacher;
this.graduationname = graduationname;
this.spassword = spassword;
this.sname = sname;
this.ssex = ssex;
this.sage = sage;
this.first = first;
this.middle = middle;
this.finish = finish;
this.replygroups = replygroups;
}
public String getGradename(){
return grade.getClassName();
}
public String getSpecialtyname() {
return this.specialty.getSpname();
}
public String getAcademyname() {
return this.academy.getAcname();
}
public String getTeachername() {
return this.teacher.getTname();
}
// Property accessors
public String getSid() {
return this.sid;
}
public void setSid(String sid) {
this.sid = sid;
}
public Grade getGrade() {
return this.grade;
}
public void setGrade(Grade grade) {
this.grade = grade;
}
public Specialty getSpecialty() {
return this.specialty;
}
public void setSpecialty(Specialty specialty) {
this.specialty = specialty;
}
public Academy getAcademy() {
return this.academy;
}
public void setAcademy(Academy academy) {
this.academy = academy;
}
public Teacher getTeacher() {
return this.teacher;
}
public void setTeacher(Teacher teacher) {
this.teacher = teacher;
}
public Graduationname getGraduationname() {
return this.graduationname;
}
public void setGraduationname(Graduationname graduationname) {
this.graduationname = graduationname;
}
public String getSpassword() {
return this.spassword;
}
public void setSpassword(String spassword) {
this.spassword = spassword;
}
public String getSname() {
return this.sname;
}
public void setSname(String sname) {
this.sname = sname;
}
public String getSsex() {
return this.ssex;
}
public void setSsex(String ssex) {
this.ssex = ssex;
}
public Integer getSage() {
return this.sage;
}
public void setSage(Integer sage) {
this.sage = sage;
}
public Integer getFirst() {
return this.first;
}
public void setFirst(Integer first) {
this.first = first;
}
public Integer getMiddle() {
return this.middle;
}
public void setMiddle(Integer middle) {
this.middle = middle;
}
public Integer getFinish() {
return this.finish;
}
public void setFinish(Integer finish) {
this.finish = finish;
}
public Set getReplygroups() {
return this.replygroups;
}
public void setReplygroups(Set replygroups) {
this.replygroups = replygroups;
}
}public class Academy implements java.io.Serializable {
// Fields
private String acid;
private String acname;
private String university;
private Set students = new HashSet(0);
private Set specialties = new HashSet(0);
private Set grades = new HashSet(0);
private Set teachers = new HashSet(0);
// Constructors
/** default constructor */
public Academy() {
}
/** minimal constructor */
public Academy(String acid) {
this.acid = acid;
}
/** full constructor */
public Academy(String acid, String acname, String university, Set students, Set specialties, Set grades, Set teachers) {
this.acid = acid;
this.acname = acname;
this.university = university;
this.students = students;
this.specialties = specialties;
this.grades = grades;
this.teachers = teachers;
}
// Property accessors
public String getAcid() {
return this.acid;
}
public void setAcid(String acid) {
this.acid = acid;
}
public String getAcname() {
return this.acname;
}
public void setAcname(String acname) {
this.acname = acname;
}
public String getUniversity() {
return this.university;
}
public void setUniversity(String university) {
this.university = university;
}
public Set getStudents() {
return this.students;
}
public void setStudents(Set students) {
this.students = students;
}
public Set getSpecialties() {
return this.specialties;
}
public void setSpecialties(Set specialties) {
this.specialties = specialties;
}
public Set getGrades() {
return this.grades;
}
public void setGrades(Set grades) {
this.grades = grades;
}
public Set getTeachers() {
return this.teachers;
}
public void setTeachers(Set teachers) {
this.teachers = teachers;
}
}public class Grade implements java.io.Serializable {
// Fields
private String classId;
private Specialty specialty;
private Academy academy;
private String className;
private Set students = new HashSet(0);
// Constructors
/** default constructor */
public Grade() {
}
/** minimal constructor */
public Grade(String classId) {
this.classId = classId;
}
/** full constructor */
public Grade(String classId, Specialty specialty, Academy academy, String className, Set students) {
this.classId = classId;
this.specialty = specialty;
this.academy = academy;
this.className = className;
this.students = students;
}
// Property accessors
public String getSpname(){
return specialty.getSpname();
}
public String getAcademyname(){
return academy.getAcname();
}
public String getClassId() {
return this.classId;
}
public void setClassId(String classId) {
this.classId = classId;
}
public Specialty getSpecialty() {
return this.specialty;
}
public void setSpecialty(Specialty specialty) {
this.specialty = specialty;
}
public Academy getAcademy() {
return this.academy;
}
public void setAcademy(Academy academy) {
this.academy = academy;
}
public String getClassName() {
return this.className;
}
public void setClassName(String className) {
this.className = className;
}
public Set getStudents() {
return this.students;
}
public void setStudents(Set students) {
this.students = students;
}
}<?xml version="1.0" encoding="utf-8"?>
<hibernate-mapping>
<class name="com.itheima.bos.domain.Student" table="student" lazy="false">
<id name="sid" type="java.lang.String">
<column name="sid" length="12" />
<generator class="assigned" />
</id>
<many-to-one name="grade" lazy="false" class="com.itheima.bos.domain.Grade" fetch="select">
<column name="grade" length="10" />
</many-to-one>
<many-to-one name="specialty" lazy="false" class="com.itheima.bos.domain.Specialty" fetch="select">
<column name="specialty_id" length="15" />
</many-to-one>
<many-to-one name="academy" lazy="false" class="com.itheima.bos.domain.Academy" fetch="select">
<column name="academy_id" length="15" />
</many-to-one>
<many-to-one name="teacher" lazy="false" class="com.itheima.bos.domain.Teacher" fetch="select">
<column name="teacher_id" length="5" />
</many-to-one>
<many-to-one name="graduationname" lazy="false" class="com.itheima.bos.domain.Graduationname" fetch="select">
<column name="graduationname" length="15" />
</many-to-one>
<property name="spassword" type="java.lang.String">
<column name="spassword" length="20" />
</property>
<property name="sname" type="java.lang.String">
<column name="sname" length="10" />
</property>
<property name="ssex" type="java.lang.String">
<column name="ssex" length="2" />
</property>
<property name="sage" type="java.lang.Integer">
<column name="sage" />
</property>
<property name="first" type="java.lang.Integer">
<column name="first" />
</property>
<property name="middle" type="java.lang.Integer">
<column name="middle" />
</property>
<property name="finish" type="java.lang.Integer">
<column name="finish" />
</property>
<set name="replygroups" table="student_regroup" >
<key>
<column name="student_id" length="15" not-null="true" />
</key>
<many-to-many lazy="false" entity-name="com.itheima.bos.domain.Replygroup">
<column name="regroup_id" length="15" not-null="true" />
</many-to-many>
</set>
</class>
</hibernate-mapping>
----------
freemarker.template.TemplateModelException: Method public java.lang.String org.apache.commons.lang.exception.NestableRuntimeException.getMessage(int) threw an exception when invoked on net.sf.json.JSONException: java.lang.reflect.InvocationTargetException
at freemarker.ext.beans.SimpleMethodModel.exec(SimpleMethodModel.java:130)
at freemarker.ext.beans.SimpleMethodModel.get(SimpleMethodModel.java:138)
at freemarker.core.DynamicKeyName.dealWithNumericalKey(DynamicKeyName.java:111)
at freemarker.core.DynamicKeyName._getAsTemplateModel(DynamicKeyName.java:90)
at freemarker.core.Expression.getAsTemplateModel(Expression.java:89)
at freemarker.core.Expression.getStringValue(Expression.java:93)
at freemarker.core.DollarVariable.accept(DollarVariable.java:76)
at freemarker.core.Environment.visit(Environment.java:221)
at freemarker.core.MixedContent.accept(MixedContent.java:92)
at freemarker.core.Environment.visit(Environment.java:221)
at freemarker.core.IfBlock.accept(IfBlock.java:82)
at freemarker.core.Environment.visit(Environment.java:221)
at freemarker.core.IfBlock.accept(IfBlock.java:82)
at freemarker.core.Environment.visit(Environment.java:221)
at freemarker.core.MixedContent.accept(MixedContent.java:92)
at freemarker.core.Environment.visit(Environment.java:221)
at freemarker.core.Environment.process(Environment.java:199)
at freemarker.template.Template.process(Template.java:259)
at org.apache.struts2.dispatcher.Dispatcher.sendError(Dispatcher.java:845)
at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:567)
at org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)
at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:91)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:233)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61)
at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108)
at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137)
at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66)
at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449)
at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365)
at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90)
at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83)
at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:383)
at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362)
at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1008)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.NullPointerException
at freemarker.ext.beans.SimpleMemberModel.unwrapArguments(SimpleMemberModel.java:86)
at freemarker.ext.beans.SimpleMethodModel.exec(SimpleMethodModel.java:106)
... 61 more