# Conflicts:
#	GDMS.iml
#	src/servlet/account/login.java
wlf
wlf 6 years ago
commit 22f533255c

@ -19,15 +19,8 @@
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" scope="PROVIDED" name="Tomcat 9.0.13" level="application_server_libraries" />
<orderEntry type="module-library">
<library>
<CLASSES>
<root url="jar://C:/Program Files/apache-tomcat-9.0.13/lib/tomcat-jdbc.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="library" scope="PROVIDED" name="Tomcat 8.5.37" level="application_server_libraries" />
<orderEntry type="library" exported="" name="lib" level="project" />
<orderEntry type="library" exported="" scope="PROVIDED" name="Tomcat 9.0.13" level="application_server_libraries" />
</component>
</module>

@ -0,0 +1,261 @@
-- --------------------------------------------------------
-- 主机: 127.0.0.1
-- 服务器版本: 10.2.18-MariaDB - mariadb.org binary distribution
-- 服务器操作系统: Win64
-- HeidiSQL 版本: 9.4.0.5125
-- --------------------------------------------------------
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET NAMES utf8 */;
/*!50503 SET NAMES utf8mb4 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
-- 导出 gdms 的数据库结构
CREATE DATABASE IF NOT EXISTS `gdms` /*!40100 DEFAULT CHARACTER SET utf8 */;
USE `gdms`;
-- 导出 表 gdms.administrator 结构
CREATE TABLE IF NOT EXISTS `administrator` (
`id` char(20) NOT NULL,
`password` char(255) NOT NULL,
`name` char(30) DEFAULT NULL,
`e_mail_location` char(40) DEFAULT NULL,
`phone_number` char(20) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='管理员';
-- 数据导出被取消选择。
-- 导出 表 gdms.announcement 结构
CREATE TABLE IF NOT EXISTS `announcement` (
`id` char(20) NOT NULL,
`title` text DEFAULT NULL,
`information` text DEFAULT NULL,
`ralease_date` date DEFAULT NULL,
`annex_url` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='公告';
-- 数据导出被取消选择。
-- 导出 表 gdms.graduation_design 结构
CREATE TABLE IF NOT EXISTS `graduation_design` (
`id` char(20) NOT NULL,
`student_id` char(20) DEFAULT NULL,
`teacher_id` char(20) DEFAULT NULL,
`teacher_choose_student_status` char(1) DEFAULT NULL,
`student_choose_teacher_status` char(1) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='毕业设计';
-- 数据导出被取消选择。
-- 导出 表 gdms.graduation_design_finished_product 结构
CREATE TABLE IF NOT EXISTS `graduation_design_finished_product` (
`id` char(20) NOT NULL,
`word_count` int(11) DEFAULT NULL,
`final_date` date DEFAULT NULL,
`graduation_design_url` varchar(255) DEFAULT NULL,
`chinese_abstract` text DEFAULT NULL,
`chinese_key_words` text DEFAULT NULL,
`english_abstract` text DEFAULT NULL,
`english_key_words` text DEFAULT NULL,
`score` float DEFAULT NULL,
`finished_product_status` char(1) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='毕设论文';
-- 数据导出被取消选择。
-- 导出 表 gdms.graduation_design_finished_product_mentor_score 结构
CREATE TABLE IF NOT EXISTS `graduation_design_finished_product_mentor_score` (
`id` char(20) NOT NULL,
`meet_requirement_score` float DEFAULT NULL,
`meaning_value_score` float DEFAULT NULL,
`subject_scale_score` float DEFAULT NULL,
`complexity_score` float DEFAULT NULL,
`ability_consult_literature_score` float DEFAULT NULL,
`comprehensive_use_knowledge_score` float DEFAULT NULL,
`design_capability_score` float DEFAULT NULL,
`ability_use_score` float DEFAULT NULL,
`title_consistent_score` float DEFAULT NULL,
`writing_level_score` float DEFAULT NULL,
`writing_specifications_score` float DEFAULT NULL,
`paper_length_score` float DEFAULT NULL,
`teory_value_score` float DEFAULT NULL,
`ability_use_foreign_language_score` float DEFAULT NULL,
`total_grade` float DEFAULT NULL,
`review_opinion` text DEFAULT NULL,
`review_opinion_date` date DEFAULT NULL,
`finished_product_mentor_score_status` char(1) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='指导老师评定成绩';
-- 数据导出被取消选择。
-- 导出 表 gdms.graduation_design_finished_product_reviewer_score 结构
CREATE TABLE IF NOT EXISTS `graduation_design_finished_product_reviewer_score` (
`id` char(20) NOT NULL,
`score` float DEFAULT NULL,
`opinion` text DEFAULT NULL,
`reviewer_score_date` date DEFAULT NULL,
`finished_product_reviewer_score_status` char(1) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='评阅老师对论文的评审成绩';
-- 数据导出被取消选择。
-- 导出 表 gdms.graduation_design_information 结构
CREATE TABLE IF NOT EXISTS `graduation_design_information` (
`id` char(20) NOT NULL,
`chinese_name` varchar(255) DEFAULT NULL,
`english_name` varchar(255) DEFAULT NULL,
`type_of_topic` varchar(255) DEFAULT NULL,
`source_of_design` varchar(255) DEFAULT NULL,
`nature_of_design` varchar(255) DEFAULT NULL,
`description_of_topic` text DEFAULT NULL,
`student_fill_graduation_design_information_status` char(1) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='毕业设计信息';
-- 数据导出被取消选择。
-- 导出 表 gdms.graduation_design_opening_report 结构
CREATE TABLE IF NOT EXISTS `graduation_design_opening_report` (
`id` char(20) NOT NULL,
`report_date` date DEFAULT NULL,
`report_location` varchar(255) DEFAULT NULL,
`report_url` varchar(255) DEFAULT NULL,
`report_teacher_leader_team_id` char(20) DEFAULT NULL,
`report_secretary_leader_team_id` char(20) DEFAULT NULL,
`estimated_word_count` int(11) DEFAULT NULL,
`opening_report_status` char(1) DEFAULT NULL,
`opening_report_mentor_opinion_status` char(1) DEFAULT NULL,
`opening_report_teacher_team_opinion_status` char(1) DEFAULT NULL,
`opening_report_college_opinion_status` char(1) DEFAULT NULL,
`opening_report_secretary_record_status` char(1) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='开题报告';
-- 数据导出被取消选择。
-- 导出 表 gdms.graduation_design_opening_report_opinion_record 结构
CREATE TABLE IF NOT EXISTS `graduation_design_opening_report_opinion_record` (
`id` char(20) NOT NULL,
`mentor_opinion` text DEFAULT NULL,
`mentor_opinion_date` date DEFAULT NULL,
`secretary_record` text DEFAULT NULL,
`secretary_record_date` date DEFAULT NULL,
`report_teacher_team_opinion` text DEFAULT NULL,
`report_teacher_team_opinion_date` date DEFAULT NULL,
`college_opinion` text DEFAULT NULL,
`college_opinion_date` date DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='开题报告会纪要';
-- 数据导出被取消选择。
-- 导出 表 gdms.graduation_design_reply 结构
CREATE TABLE IF NOT EXISTS `graduation_design_reply` (
`id` char(20) NOT NULL,
`date` date DEFAULT NULL,
`location` varchar(255) DEFAULT NULL,
`teacher_team_leader_id` char(20) DEFAULT NULL,
`secretary_team_leader_id` char(20) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='答辩';
-- 数据导出被取消选择。
-- 导出 表 gdms.graduation_design_reply_opinion_record_score 结构
CREATE TABLE IF NOT EXISTS `graduation_design_reply_opinion_record_score` (
`id` char(20) NOT NULL,
`mentor_opinion text` text DEFAULT NULL,
`mentor_opinion_date date` date DEFAULT NULL,
`secretary_record` text DEFAULT NULL,
`secretary_record_date date` date DEFAULT NULL,
`teacher_team_opinion` text DEFAULT NULL,
`teacher_team_score` float DEFAULT NULL,
`teacher_team_opinion_date` date DEFAULT NULL,
`college_opinion` text DEFAULT NULL,
`college_score` float DEFAULT NULL,
`college_opinion_date` date DEFAULT NULL,
`school_opinion` text DEFAULT NULL,
`school_score` float DEFAULT NULL,
`school_opinion_date` date DEFAULT NULL,
`reply_ secretary_record_status` char(1) DEFAULT NULL,
`reply_ teacher_team_score_status` char(1) DEFAULT NULL,
`reply_ college_score_status` char(1) DEFAULT NULL,
`reply_school_score_status` char(1) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='答辩记录表';
-- 数据导出被取消选择。
-- 导出 表 gdms.opening_report_secretary_team 结构
CREATE TABLE IF NOT EXISTS `opening_report_secretary_team` (
`leader_student_id` char(20) NOT NULL,
`student1_id` char(20) DEFAULT NULL,
`student2_id` char(20) DEFAULT NULL,
PRIMARY KEY (`leader_student_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='开题报告秘书组';
-- 数据导出被取消选择。
-- 导出 表 gdms.opening_report_teacher_team 结构
CREATE TABLE IF NOT EXISTS `opening_report_teacher_team` (
`leader_teacher_id` char(20) NOT NULL,
`teacher1_id` char(20) DEFAULT NULL,
`teacher2_id` char(20) DEFAULT NULL,
PRIMARY KEY (`leader_teacher_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='开题报告老师组';
-- 数据导出被取消选择。
-- 导出 表 gdms.profession_information 结构
CREATE TABLE IF NOT EXISTS `profession_information` (
`profession_code` char(8) NOT NULL,
`college` varchar(255) DEFAULT NULL,
`department` varchar(255) DEFAULT NULL,
`profession` varchar(255) DEFAULT NULL,
PRIMARY KEY (`profession_code`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='专业信息';
-- 数据导出被取消选择。
-- 导出 表 gdms.reply_secretary_team 结构
CREATE TABLE IF NOT EXISTS `reply_secretary_team` (
`leader_student_id` char(20) NOT NULL,
`student1_id` char(20) DEFAULT NULL,
`student2_id` char(20) DEFAULT NULL,
PRIMARY KEY (`leader_student_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='答辩秘书小组';
-- 数据导出被取消选择。
-- 导出 表 gdms.reply_teacher_team 结构
CREATE TABLE IF NOT EXISTS `reply_teacher_team` (
`leader_teacher_id` char(20) NOT NULL,
`teacher1_id` char(20) DEFAULT NULL,
`teacher2_id` char(20) DEFAULT NULL,
PRIMARY KEY (`leader_teacher_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='答辩教师组';
-- 数据导出被取消选择。
-- 导出 表 gdms.student 结构
CREATE TABLE IF NOT EXISTS `student` (
`id` char(20) NOT NULL,
`password` char(255) NOT NULL,
`name` char(30) DEFAULT NULL,
`e_mail_location` char(40) DEFAULT NULL,
`phone_number` char(20) DEFAULT NULL,
`grade` char(4) DEFAULT NULL,
`profession_code` char(8) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='学生用户';
-- 数据导出被取消选择。
-- 导出 表 gdms.teacher 结构
CREATE TABLE IF NOT EXISTS `teacher` (
`id` char(20) NOT NULL,
`password` char(255) NOT NULL,
`name` char(30) DEFAULT NULL,
`e_mail_location` char(40) DEFAULT NULL,
`phone_number` char(20) DEFAULT NULL,
`job_title` varchar(255) DEFAULT NULL,
`education` varchar(255) DEFAULT NULL,
`profession_code` char(8) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='老师用户';
-- 数据导出被取消选择。
/*!40101 SET SQL_MODE=IFNULL(@OLD_SQL_MODE, '') */;
/*!40014 SET FOREIGN_KEY_CHECKS=IF(@OLD_FOREIGN_KEY_CHECKS IS NULL, 1, @OLD_FOREIGN_KEY_CHECKS) */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;

Binary file not shown.

@ -0,0 +1,198 @@
id char 20//用户id
password char 255//用户密码
name char 30//用户姓名
e_mail_location char 40//邮箱
phone_number char 20//电话号码
url varchar 255//......路径
administrator//管理员
id//管理员ID
password char 255//用户密码
name char 30//用户姓名
e_mail_location//电子邮件
phone_number//电话号码
profession_information//专业信息
profession_code char 8//专业代码
college varchar 255//学院名称
department varchar 255//系名称
profession varchar 255//专业名称
student//学生用户
id char 20//学生ID
password char 255//学生密码
name char 30//学生姓名
e_mail_location char 40//学生电子邮箱
phone_number char 20//电话号码
grade char 4//学生年级
profession_code char 8//专业代码
teacher//老师
id char 20//老师ID
password char 255//老师密码
name char 30 //老师姓名
e_mail_location char 40 //电子邮件
phonenumber //电话
job_title varchar 255//职称
education varchar 255//老师学历
profession_code char 8//专业代码
graduation_design//毕业设计
id char 20//论文ID
stu_id char 20//学生id
teacher_id char 20//老师id
teacher_choose_student_status char 1 //指导老师指导学生
student_choose_teacher_status char 1//学生选择老师
graduation_design_information//毕业设计信息
id char 20//论文ID
chinese_name varchar 255//论文中文名
english_name varchar 255//论文英文名
type_of_topic varchar 255//题目类别
source_of_design varchar 255//选题来源
nature_of_design varchar 255//选题性质
description_of_topic text//题目简介
student_fill_graduation_design_information_status char 1//学生填写选题信息
graduation_design_opening_report//开题报告
id char 20//论文ID
report_date date//开题报告日期
report_location varchar 255//开题报告地点
report_url varchar 255 //开题报告路径
report_teacher_leader_team_id char 20 //开题报告评阅老师组组长
report_secretary_leader_team_id char 20 //开题报告秘书组长
estimated_word_count int//预计字数
opening_report_status char 1//学生提交开题报告书
opening_report_mentor_opinion_status char 1//指导老师提交开题报告书意见
opening_report_teacher_team_opinion_status char 1//开题报告会组长提交开题报告会纪要意见
opening_report_college_opinion_status char 1//学院老师提交开题报告会纪要意见
opening_report_secretary_record_status char 1//开题秘书提交开题报告会纪要
graduation_design_opening_report_opinion_record//开题报告会纪要
id char 20 //论文ID
mentor_opinion text//导师意见
mentor_opinion_date date//导师意见填写日期
secretary_record text//秘书填写会议记录摘要
secretary_record_date date//秘书记录日期
report_teacher_team_opinion text//教师指导小组意见
report_teacher_team_opinion_date date//教师指导小组填写日期
college_opinion text//学院意见
college_opinion_date date//学院意见日期
opening_report_teacher_team//开题报告老师组
leader_teacher_id char 20//开题报告老师组组长
teacher1_id char 20//开题报告老师组成员1
teacher2_id char 20//开题报告老师组成员2
opening_report_secretary_team//开题报告秘书组
leader_student_id char 20//开题报告秘书组组长
student1_id char 20//开题报告秘书组成员1
student2_id char 20//开题报告秘书组成员2
graduation_design_finished_product//毕设论文评审表
id char 20//论文ID
word_count int//论文字数
final_date date//定稿日期
graduation_design_url varchar 255//论文路径
chinese_abstract text//中文摘要
chinese_key_words text//中文关键词
english_abstract text//英文摘要
english_key_words text//英文关键词
score float//最终分数
finished_product_status char 1//学生提交定稿
graduation_design_finished_product_mentor_score//指导老师评定成绩
id char 20//论文ID
meet_requirement_score float//目的明确符合要求
meaning_value_score float//理论意义或实际价值
subject_scale_score float//题目规模适当
complexity_score float//难易度适中
ability_consult_literature_score float//查阅文献资料能力
comprehensive_use_knowledge_score float//综合运用知识能力
design_capability_score float//研究方案的设计能力
ability_use_score float//研究方法和手段的运用能力
title_consistent_score float//文题相符
writing_level_score float//写作水平
writing_specifications_score float//写作规范
paper_length_score float//论文篇幅
teory_value_score float//成果的理论或实际价值
ability_use_foreign_language_score float//外文应用能力
total_grade float//总成绩
review_opinion text//指导老师评审意见
review_opinion_date date//评审日期
finished_product_mentor_score_status char 1//指导老师评阅
graduation_design_finished_product_reviewer_score//评阅老师对论文的评审成绩
id char 20//论文ID
score float//分数
opinion text//意见
reviewer_score_date date//评阅老师评阅日期
finished_product_reviewer_score_status char 1//评阅老师评阅
graduation_design_reply//答辩
id char 20//论文ID
date date//答辩日期
location varchar 255//答辩地点
teacher_team_leader_id//答辩教师组组长id
secretary_team_leader_id//答辩秘书组组长id
graduation_design_reply_opinion_record_score//答辩记录表
id char 20//论文ID
mentor_opinion text//导师意见
mentor_opinion_date date//导师意见提交日期
secretary_record text//秘书记录
secretary_record_date date//秘书记录日期
teacher_team_opinion text//教师组意见
teacher_team_score int//教师评分
teacher_team_opinion_date date//教师意见日期
college_opinion text//学院意见
college_score int//学院分数
college_opinion_date date//学院意见日期
school_opinion text//学校意见
school_score int//学校分数
school_opinion_date date//学校意见日期
reply_ secretary_record_status char 1//答辩秘书提交答辩记录表
reply_ teacher_team_score_status char 1//答辩小组提交评分意见
reply_ college_score_status char 1//学院老师提交评分意见
reply_school_score_status char 1//学校老师提交评分意见
reply_teacher_team//答辩教师组
leader_teacher_id char 20//组长id
teacher1_id char 20//组员1
teacher2_id char 20//组员2
reply_secretary_team//答辩秘书小组
leader_student_id char 20//组长
student1_id char 20//组员1
student2_id char 20//组员2
announcement //公告
id char 20//公告ID
title text //公告标题
information text //公告信息
ralease_date date//公告发布日期
annex_url varchar 255//附件链接
global_time_point//全局时间点
teacher_choose_student_start_date date //开始选题时间
student_choose_teacher_start_date date //开放选题入口时间
choose_end_date date//关闭选题入口时间
opening_report_opinion_deadline_date date//开题报告意见提交截止时间
finished_product_deadline_date date//定稿上传截止日期
finished_product_review_deadline_date date//评阅截止日期
reply_opition_deadline_date date//答辩意见截止日期

Binary file not shown.

After

Width:  |  Height:  |  Size: 261 KiB

Binary file not shown.

@ -0,0 +1,7 @@
status有五种
1, 0 000 未开始
2, 1 001 开始未完成
3, 3 011 开始已完成未结束
4, 5 101 开始未完成已结束
5, 7 111 开始已完成已结束
,,,其余无效

Binary file not shown.

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 92 KiB

Binary file not shown.

@ -7,7 +7,7 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class C_StudentSelectTeacher extends Process {
public class C_StudentSelectTeacher extends core.process.Process {
public void select(String studentID,String teacherID)throws Exception{
Select select=new Select();
select.setOptions(new HashMap<>());

@ -1,11 +1,46 @@
package core.process;
import core.user.User;
import dao.DBManagement;
import java.util.List;
import java.util.Map;
public class ProcessManagement {
public Condition getCondition(String userType, List<Integer> index){
public static Condition getCondition(User user) {
Map<String,Character> status = getStatus(user);
return getCondition(user,status);
}
public static Condition getCondition(User user, Map<String,Character> status){
Condition condition = new Condition();
for(Map.Entry<String,Character> entry:status.entrySet()){
String[] s = entry.getKey().split(".");
TempProcess tempProcess = (TempProcess) getProcess(s[1]);
tempProcess.setGraduationDesignId(s[0]);
tempProcess.setStatus(entry.getValue());
condition.add(tempProcess);
}
condition.add(getLastProcesses(user));
return condition;
}
private static List<Process> getLastProcesses(User user) {
return null;
}
//Map<graduation_design_id.x_status,status>
public static Map<String,Character> getStatus(User user){
Map<String,String> userTables = DBManagement.getUserTables(user.getType());
String graduationDesignId = null;
for(Map.Entry<String,String> entry:userTables.entrySet()){
String[] ti = entry.getKey().split(".");
String[] ts = entry.getValue().split(".");
}
return null;
}
public Process getProcess(int index){
public static Process getProcess(String process){
return null;
}
}

@ -1,8 +1,17 @@
package core.process;
public abstract class TempProcess extends Process {
public static String process;
public static String nextProcess;
private static String process;
private static String nextProcess;
private String graduationDesignId;
public String getGraduationDesignId() {
return graduationDesignId;
}
public void setGraduationDesignId(String graduationDesignId) {
this.graduationDesignId = graduationDesignId;
}
public static String getProcess() {
return process;

@ -3,6 +3,11 @@ package core.user;
import java.util.Map;
public class Administrator extends User {
@Override
public String getType() {
return "administrator";
}
@Override
public void setAttr(Map<String, String> vMap){
super.setAttr(vMap);

@ -6,6 +6,12 @@ import java.util.Map;
public class Student extends User {
private String grade;
private String profession_code;
@Override
public String getType() {
return "student";
}
public void setAttr(Map<String, String> vMap){
super.setAttr(vMap);
this.setGrade(vMap.get("grade"));

@ -7,6 +7,12 @@ public class Teacher extends User {
String job_title;
String education;
String profession_code;
@Override
public String getType() {
return "teacher";
}
@Override
public void setAttr(Map<String, String> vMap){
super.setAttr(vMap);

@ -89,9 +89,7 @@ public abstract class User implements AccountManageable, ProcessConfigurable{
super();
}
public String getType(){
return this.getClass().getName();
}
public abstract String getType();
public void destroy(){
core.user.utils.AccountManagement.destroy(this);

@ -7,9 +7,9 @@ public interface GetObjectByName {
String userClassPath = "core.user";
String operationClassPath = "core.operation";
static User getUserByName(String name) throws Exception {
return (User)Class.forName(userClassPath+"."+name).getDeclaredConstructor().newInstance();
return (User)Class.forName(userClassPath+"."+utils.Utils.toUpperFirstChar(name)).getDeclaredConstructor().newInstance();
}
static Operation getOperationByName(String name) throws Exception{
return (Operation)Class.forName(operationClassPath+"."+name).getDeclaredConstructor().newInstance();
return (Operation)Class.forName(operationClassPath+"."+utils.Utils.toUpperFirstChar(name)).getDeclaredConstructor().newInstance();
}
}

@ -29,16 +29,23 @@ public class DBManagement {
"graduation_design_reply",
"graduation_design_reply_opinion_record_score"
};
//<table.field,permission>
//<table1.x_id,table2.x_status>
public static Map<String,String> graduationDesignStudentTables = new HashMap<>(){
{
put("graduation_design.student_id","student");
put("opening_report_secretary_team.leader_student_id","opening_report_secretary_leader");
put("opening_report_secretary_team.student1_id","opening_report_secretary_member");
put("opening_report_secretary_team.student2_id","opening_report_secretary_member");
put("reply_secretary_team.leader_student_id","reply_secretary_leader");
put("reply_secretary_team.student1_id","reply_secretary_member");
put("reply_secretary_team.student2_id","reply_secretary_member");
put("graduation_design.student_id","graduation_design.student_chooser_teacher_status");
put("opening_report_secretary_team.leader_student_id","");
put("opening_report_secretary_team.student1_id","");
put("opening_report_secretary_team.student2_id","");
put("reply_secretary_team.leader_student_id","");
put("reply_secretary_team.student1_id","");
put("reply_secretary_team.student2_id","");
}
};
public static Map<String,String> graduationDesignTeacherTables = new HashMap<>(){
{
put("","");
}
};
public static String driverClassName="org.mariadb.jdbc.Driver";
@ -72,6 +79,15 @@ public class DBManagement {
}
return null;
}
public static Map<String,String> getUserTables(String userType){
if(userType.equals("student")){
return graduationDesignStudentTables;
}
if(userType.equals("teacher")){
return graduationDesignTeacherTables;
}
return null;
}
public static void delete(String table, Map<String,String> limits) throws GExcptSQL {
Delete delete = new Delete(table, limits);

@ -1,6 +1,6 @@
package gdms;
public interface Mode {
public static int strict = 1;
public static int strict = 0;
public static int debug = 1;
}

@ -1,6 +1,7 @@
package gdms;
import core.operation.utils.Utils;
import core.process.C_StudentSelectTeacher;
import dao.Select;
import java.util.ArrayList;
@ -10,6 +11,14 @@ import java.util.Map;
public class test {
public static void main(String[] args){
String student_id = "001";
String teacher_id = "002";
core.process.Process p = new C_StudentSelectTeacher();
try {
((C_StudentSelectTeacher) p).select(student_id,teacher_id);
} catch (Exception e) {
e.printStackTrace();
}
List<String> list = new ArrayList<>();
list.add("q");
list.add("w");

@ -1,4 +1,4 @@
package servlet.select;
package servlet.Select;
import core.process.C_StudentSearchTeacher;
import core.process.C_StudentSelectTeacher;
@ -14,7 +14,7 @@ public class S_StudentSelectTeacher extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
super.doPost(request, response);
String student_id=request.getParameter("id");
User user=(User)request.getSession().getAttribute("User");
User user=(User)request.getSession().getAttribute("user");
String teacher_id=user.getId();
try {
new C_StudentSelectTeacher().select(student_id,teacher_id);

@ -1,4 +1,4 @@
package servlet.select;
package servlet.Select;
import core.process.C_TeacherSelectStudent;
import core.user.User;
@ -14,7 +14,7 @@ public class S_TeacherSelectStudent extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
super.doPost(request, response);
String teacher_id=request.getParameter("id");
User user=(User)request.getSession().getAttribute("User");
User user=(User)request.getSession().getAttribute("user");
String student_id=user.getId();
try {
new C_TeacherSelectStudent().select(teacher_id,student_id);

@ -10,7 +10,7 @@ import java.io.IOException;
public class S_Submit extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
super.doPost(request, response);
String content=request.getParameter("opinion");
String content=new String(request.getParameter("text").getBytes("ISO8859-1"),"UTF-8");
String score=request.getParameter("score");
}
}

@ -1,19 +0,0 @@
package servlet.account;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@WebServlet(name = "S_TeacherSelectStudent")
public class S_TeacherSelectStudent extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
}
}

@ -31,12 +31,7 @@ public class login extends HttpServlet {
} catch (Exception e) {
e.printStackTrace();
}
request.getSession().setAttribute("User",user);
request.getSession().setAttribute("user",user);
request.getRequestDispatcher("/home.jsp").forward(request,response);
}
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
}
}

@ -1,23 +0,0 @@
package servlet.account;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet( "/service")
public class service extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
System.out.print(request.getParameter("id"));
}
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
}
}

@ -1,50 +0,0 @@
package servlet.basic_settings;
import javax.servlet.*;
import javax.servlet.annotation.WebFilter;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;
@WebFilter(filterName = "sessionFilter",urlPatterns = {"/*"})
public class S_Filter implements Filter {
String NO_LOGIN="/notLogin";
String includeUrls="/gdms/login.jsp";
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws ServletException,IOException{
HttpServletRequest request=(HttpServletRequest) servletRequest;
HttpServletResponse response=(HttpServletResponse) servletResponse;
HttpSession session=request.getSession(false);
String uri=request.getRequestURI();
//是否需要过滤
boolean needFilter=isNeedFilter(uri);
if(!needFilter){
filterChain.doFilter(servletRequest,servletResponse);
}else{
//需要过滤器
//session中包含user对象则是登录状态
if(session!=null&&session.getAttribute("user")!=null){
filterChain.doFilter(servletRequest,servletResponse);
}else{
String requestType=request.getHeader("X-Requested-with");
//判断是否是ajax请求
if(requestType!=null&&"XMLHttpRequest".equals(requestType)){
response.sendRedirect(NO_LOGIN);
}else{
//重定向到登录页(需要在static文件夹下建立此html文件)
response.sendRedirect("/gdms/login.jsp");
}
return;
}
}
}
public boolean isNeedFilter(String uri) {
if (includeUrls.equals(uri)) {
return false;
}
return true;
}
}

Binary file not shown.

Binary file not shown.

@ -0,0 +1,393 @@
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE taglib
PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN"
"http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd">
<taglib>
<tlib-version>1.0</tlib-version>
<jsp-version>1.2</jsp-version>
<short-name>c_rt</short-name>
<uri>http://java.sun.com/jstl/core_rt</uri>
<display-name>JSTL core RT</display-name>
<description>JSTL 1.0 core library</description>
<validator>
<validator-class>
org.apache.taglibs.standard.tlv.JstlCoreTLV
</validator-class>
<description>
Provides core validation features for JSTL tags.
</description>
</validator>
<tag>
<name>catch</name>
<tag-class>org.apache.taglibs.standard.tag.common.core.CatchTag</tag-class>
<body-content>JSP</body-content>
<description>
Catches any Throwable that occurs in its body and optionally
exposes it.
</description>
<attribute>
<name>var</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
</tag>
<tag>
<name>choose</name>
<tag-class>org.apache.taglibs.standard.tag.common.core.ChooseTag</tag-class>
<body-content>JSP</body-content>
<description>
Simple conditional tag that establishes a context for
mutually exclusive conditional operations, marked by
&lt;when&gt; and &lt;otherwise&gt;
</description>
</tag>
<tag>
<name>if</name>
<tag-class>org.apache.taglibs.standard.tag.rt.core.IfTag</tag-class>
<body-content>JSP</body-content>
<description>
Simple conditional tag, which evalutes its body if the
supplied condition is true and optionally exposes a Boolean
scripting variable representing the evaluation of this condition
</description>
<attribute>
<name>test</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
<type>boolean</type>
</attribute>
<attribute>
<name>var</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>scope</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
</tag>
<tag>
<name>import</name>
<tag-class>org.apache.taglibs.standard.tag.rt.core.ImportTag</tag-class>
<tei-class>org.apache.taglibs.standard.tei.ImportTEI</tei-class>
<body-content>JSP</body-content>
<description>
Retrieves an absolute or relative URL and exposes its contents
to either the page, a String in 'var', or a Reader in 'varReader'.
</description>
<attribute>
<name>url</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>var</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>scope</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>varReader</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>context</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>charEncoding</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
<tag>
<name>forEach</name>
<tag-class>org.apache.taglibs.standard.tag.rt.core.ForEachTag</tag-class>
<tei-class>org.apache.taglibs.standard.tei.ForEachTEI</tei-class>
<body-content>JSP</body-content>
<description>
The basic iteration tag, accepting many different
collection types and supporting subsetting and other
functionality
</description>
<attribute>
<name>items</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<type>java.lang.Object</type>
</attribute>
<attribute>
<name>begin</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<type>int</type>
</attribute>
<attribute>
<name>end</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<type>int</type>
</attribute>
<attribute>
<name>step</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<type>int</type>
</attribute>
<attribute>
<name>var</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>varStatus</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
</tag>
<tag>
<name>forTokens</name>
<tag-class>org.apache.taglibs.standard.tag.rt.core.ForTokensTag</tag-class>
<body-content>JSP</body-content>
<description>
Iterates over tokens, separated by the supplied delimeters
</description>
<attribute>
<name>items</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
<type>java.lang.String</type>
</attribute>
<attribute>
<name>delims</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
<type>java.lang.String</type>
</attribute>
<attribute>
<name>begin</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<type>int</type>
</attribute>
<attribute>
<name>end</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<type>int</type>
</attribute>
<attribute>
<name>step</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<type>int</type>
</attribute>
<attribute>
<name>var</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>varStatus</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
</tag>
<tag>
<name>out</name>
<tag-class>org.apache.taglibs.standard.tag.rt.core.OutTag</tag-class>
<body-content>JSP</body-content>
<description>
Like &lt;%= ... &gt;, but for expressions.
</description>
<attribute>
<name>value</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>default</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>escapeXml</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
<tag>
<name>otherwise</name>
<tag-class>org.apache.taglibs.standard.tag.common.core.OtherwiseTag</tag-class>
<body-content>JSP</body-content>
<description>
Subtag of &lt;choose&gt; that follows &lt;when&gt; tags
and runs only if all of the prior conditions evaluated to
'false'
</description>
</tag>
<tag>
<name>param</name>
<tag-class>org.apache.taglibs.standard.tag.rt.core.ParamTag</tag-class>
<body-content>JSP</body-content>
<description>
Adds a parameter to a containing 'import' tag's URL.
</description>
<attribute>
<name>name</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>value</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
<tag>
<name>redirect</name>
<tag-class>org.apache.taglibs.standard.tag.rt.core.RedirectTag</tag-class>
<body-content>JSP</body-content>
<description>
Redirects to a new URL.
</description>
<attribute>
<name>var</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>scope</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>url</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>context</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
<tag>
<name>remove</name>
<tag-class>org.apache.taglibs.standard.tag.common.core.RemoveTag</tag-class>
<body-content>empty</body-content>
<description>
Removes a scoped variable (from a particular scope, if specified).
</description>
<attribute>
<name>var</name>
<required>true</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>scope</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
</tag>
<tag>
<name>set</name>
<tag-class>org.apache.taglibs.standard.tag.rt.core.SetTag</tag-class>
<body-content>JSP</body-content>
<description>
Sets the result of an expression evaluation in a 'scope'
</description>
<attribute>
<name>var</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>value</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>target</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>property</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>scope</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
</tag>
<tag>
<name>url</name>
<tag-class>org.apache.taglibs.standard.tag.rt.core.UrlTag</tag-class>
<body-content>JSP</body-content>
<description>
Creates a URL with optional query parameters.
</description>
<attribute>
<name>var</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>scope</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>value</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>context</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
<tag>
<name>when</name>
<tag-class>org.apache.taglibs.standard.tag.rt.core.WhenTag</tag-class>
<body-content>JSP</body-content>
<description>
Subtag of &lt;choose&gt; that includes its body if its
condition evalutes to 'true'
</description>
<attribute>
<name>test</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
<type>boolean</type>
</attribute>
</tag>
</taglib>

@ -0,0 +1,416 @@
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE taglib
PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN"
"http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd">
<taglib>
<tlib-version>1.0</tlib-version>
<jsp-version>1.2</jsp-version>
<short-name>c</short-name>
<uri>http://java.sun.com/jstl/core</uri>
<display-name>JSTL core</display-name>
<description>JSTL 1.0 core library</description>
<validator>
<validator-class>
org.apache.taglibs.standard.tlv.JstlCoreTLV
</validator-class>
<init-param>
<param-name>expressionAttributes</param-name>
<param-value>
out:value
out:default
out:escapeXml
if:test
import:url
import:context
import:charEncoding
forEach:items
forEach:begin
forEach:end
forEach:step
forTokens:items
forTokens:begin
forTokens:end
forTokens:step
param:encode
param:name
param:value
redirect:context
redirect:url
set:property
set:target
set:value
url:context
url:value
when:test
</param-value>
<description>
Whitespace-separated list of colon-separated token pairs
describing tag:attribute combinations that accept expressions.
The validator uses this information to determine which
attributes need their syntax validated.
</description>
</init-param>
</validator>
<tag>
<name>catch</name>
<tag-class>org.apache.taglibs.standard.tag.common.core.CatchTag</tag-class>
<body-content>JSP</body-content>
<description>
Catches any Throwable that occurs in its body and optionally
exposes it.
</description>
<attribute>
<name>var</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
</tag>
<tag>
<name>choose</name>
<tag-class>org.apache.taglibs.standard.tag.common.core.ChooseTag</tag-class>
<body-content>JSP</body-content>
<description>
Simple conditional tag that establishes a context for
mutually exclusive conditional operations, marked by
&lt;when&gt; and &lt;otherwise&gt;
</description>
</tag>
<tag>
<name>out</name>
<tag-class>org.apache.taglibs.standard.tag.el.core.OutTag</tag-class>
<body-content>JSP</body-content>
<description>
Like &lt;%= ... &gt;, but for expressions.
</description>
<attribute>
<name>value</name>
<required>true</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>default</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>escapeXml</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
</tag>
<tag>
<name>if</name>
<tag-class>org.apache.taglibs.standard.tag.el.core.IfTag</tag-class>
<body-content>JSP</body-content>
<description>
Simple conditional tag, which evalutes its body if the
supplied condition is true and optionally exposes a Boolean
scripting variable representing the evaluation of this condition
</description>
<attribute>
<name>test</name>
<required>true</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>var</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>scope</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
</tag>
<tag>
<name>import</name>
<tag-class>org.apache.taglibs.standard.tag.el.core.ImportTag</tag-class>
<tei-class>org.apache.taglibs.standard.tei.ImportTEI</tei-class>
<body-content>JSP</body-content>
<description>
Retrieves an absolute or relative URL and exposes its contents
to either the page, a String in 'var', or a Reader in 'varReader'.
</description>
<attribute>
<name>url</name>
<required>true</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>var</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>scope</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>varReader</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>context</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>charEncoding</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
</tag>
<tag>
<name>forEach</name>
<tag-class>org.apache.taglibs.standard.tag.el.core.ForEachTag</tag-class>
<tei-class>org.apache.taglibs.standard.tei.ForEachTEI</tei-class>
<body-content>JSP</body-content>
<description>
The basic iteration tag, accepting many different
collection types and supporting subsetting and other
functionality
</description>
<attribute>
<name>items</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>begin</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>end</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>step</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>var</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>varStatus</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
</tag>
<tag>
<name>forTokens</name>
<tag-class>org.apache.taglibs.standard.tag.el.core.ForTokensTag</tag-class>
<body-content>JSP</body-content>
<description>
Iterates over tokens, separated by the supplied delimeters
</description>
<attribute>
<name>items</name>
<required>true</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>delims</name>
<required>true</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>begin</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>end</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>step</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>var</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>varStatus</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
</tag>
<tag>
<name>otherwise</name>
<tag-class>org.apache.taglibs.standard.tag.common.core.OtherwiseTag</tag-class>
<body-content>JSP</body-content>
<description>
Subtag of &lt;choose&gt; that follows &lt;when&gt; tags
and runs only if all of the prior conditions evaluated to
'false'
</description>
</tag>
<tag>
<name>param</name>
<tag-class>org.apache.taglibs.standard.tag.el.core.ParamTag</tag-class>
<body-content>JSP</body-content>
<description>
Adds a parameter to a containing 'import' tag's URL.
</description>
<attribute>
<name>name</name>
<required>true</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>value</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
</tag>
<tag>
<name>redirect</name>
<tag-class>org.apache.taglibs.standard.tag.el.core.RedirectTag</tag-class>
<body-content>JSP</body-content>
<description>
Redirects to a new URL.
</description>
<attribute>
<name>var</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>scope</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>url</name>
<required>true</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>context</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
</tag>
<tag>
<name>remove</name>
<tag-class>org.apache.taglibs.standard.tag.common.core.RemoveTag</tag-class>
<body-content>empty</body-content>
<description>
Removes a scoped variable (from a particular scope, if specified).
</description>
<attribute>
<name>var</name>
<required>true</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>scope</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
</tag>
<tag>
<name>set</name>
<tag-class>org.apache.taglibs.standard.tag.el.core.SetTag</tag-class>
<body-content>JSP</body-content>
<description>
Sets the result of an expression evaluation in a 'scope'
</description>
<attribute>
<name>var</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>value</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>target</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>property</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>scope</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
</tag>
<tag>
<name>url</name>
<tag-class>org.apache.taglibs.standard.tag.el.core.UrlTag</tag-class>
<body-content>JSP</body-content>
<description>
Prints or exposes a URL with optional query parameters
(via the c:param tag).
</description>
<attribute>
<name>var</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>scope</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>value</name>
<required>true</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>context</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
</tag>
<tag>
<name>when</name>
<tag-class>org.apache.taglibs.standard.tag.el.core.WhenTag</tag-class>
<body-content>JSP</body-content>
<description>
Subtag of &lt;choose&gt; that includes its body if its
condition evalutes to 'true'
</description>
<attribute>
<name>test</name>
<required>true</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
</tag>
</taglib>

@ -0,0 +1,563 @@
<?xml version="1.0" encoding="UTF-8" ?>
<taglib xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
version="2.0">
<description>JSTL 1.1 core library</description>
<display-name>JSTL core</display-name>
<tlib-version>1.1</tlib-version>
<short-name>c</short-name>
<uri>http://java.sun.com/jsp/jstl/core</uri>
<validator>
<description>
Provides core validation features for JSTL tags.
</description>
<validator-class>
org.apache.taglibs.standard.tlv.JstlCoreTLV
</validator-class>
</validator>
<tag>
<description>
Catches any Throwable that occurs in its body and optionally
exposes it.
</description>
<name>catch</name>
<tag-class>org.apache.taglibs.standard.tag.common.core.CatchTag</tag-class>
<body-content>JSP</body-content>
<attribute>
<description>
Name of the exported scoped variable for the
exception thrown from a nested action. The type of the
scoped variable is the type of the exception thrown.
</description>
<name>var</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
</tag>
<tag>
<description>
Simple conditional tag that establishes a context for
mutually exclusive conditional operations, marked by
&lt;when&gt; and &lt;otherwise&gt;
</description>
<name>choose</name>
<tag-class>org.apache.taglibs.standard.tag.common.core.ChooseTag</tag-class>
<body-content>JSP</body-content>
</tag>
<tag>
<description>
Simple conditional tag, which evalutes its body if the
supplied condition is true and optionally exposes a Boolean
scripting variable representing the evaluation of this condition
</description>
<name>if</name>
<tag-class>org.apache.taglibs.standard.tag.rt.core.IfTag</tag-class>
<body-content>JSP</body-content>
<attribute>
<description>
The test condition that determines whether or
not the body content should be processed.
</description>
<name>test</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
<type>boolean</type>
</attribute>
<attribute>
<description>
Name of the exported scoped variable for the
resulting value of the test condition. The type
of the scoped variable is Boolean.
</description>
<name>var</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<description>
Scope for var.
</description>
<name>scope</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
</tag>
<tag>
<description>
Retrieves an absolute or relative URL and exposes its contents
to either the page, a String in 'var', or a Reader in 'varReader'.
</description>
<name>import</name>
<tag-class>org.apache.taglibs.standard.tag.rt.core.ImportTag</tag-class>
<tei-class>org.apache.taglibs.standard.tei.ImportTEI</tei-class>
<body-content>JSP</body-content>
<attribute>
<description>
The URL of the resource to import.
</description>
<name>url</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<description>
Name of the exported scoped variable for the
resource's content. The type of the scoped
variable is String.
</description>
<name>var</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<description>
Scope for var.
</description>
<name>scope</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<description>
Name of the exported scoped variable for the
resource's content. The type of the scoped
variable is Reader.
</description>
<name>varReader</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<description>
Name of the context when accessing a relative
URL resource that belongs to a foreign
context.
</description>
<name>context</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<description>
Character encoding of the content at the input
resource.
</description>
<name>charEncoding</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
<tag>
<description>
The basic iteration tag, accepting many different
collection types and supporting subsetting and other
functionality
</description>
<name>forEach</name>
<tag-class>org.apache.taglibs.standard.tag.rt.core.ForEachTag</tag-class>
<tei-class>org.apache.taglibs.standard.tei.ForEachTEI</tei-class>
<body-content>JSP</body-content>
<attribute>
<description>
Collection of items to iterate over.
</description>
<name>items</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<type>java.lang.Object</type>
</attribute>
<attribute>
<description>
If items specified:
Iteration begins at the item located at the
specified index. First item of the collection has
index 0.
If items not specified:
Iteration begins with index set at the value
specified.
</description>
<name>begin</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<type>int</type>
</attribute>
<attribute>
<description>
If items specified:
Iteration ends at the item located at the
specified index (inclusive).
If items not specified:
Iteration ends when index reaches the value
specified.
</description>
<name>end</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<type>int</type>
</attribute>
<attribute>
<description>
Iteration will only process every step items of
the collection, starting with the first one.
</description>
<name>step</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<type>int</type>
</attribute>
<attribute>
<description>
Name of the exported scoped variable for the
current item of the iteration. This scoped
variable has nested visibility. Its type depends
on the object of the underlying collection.
</description>
<name>var</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<description>
Name of the exported scoped variable for the
status of the iteration. Object exported is of type
javax.servlet.jsp.jstl.core.LoopTagStatus. This scoped variable has nested
visibility.
</description>
<name>varStatus</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
</tag>
<tag>
<description>
Iterates over tokens, separated by the supplied delimeters
</description>
<name>forTokens</name>
<tag-class>org.apache.taglibs.standard.tag.rt.core.ForTokensTag</tag-class>
<body-content>JSP</body-content>
<attribute>
<description>
String of tokens to iterate over.
</description>
<name>items</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
<type>java.lang.String</type>
</attribute>
<attribute>
<description>
The set of delimiters (the characters that
separate the tokens in the string).
</description>
<name>delims</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
<type>java.lang.String</type>
</attribute>
<attribute>
<description>
Iteration begins at the token located at the
specified index. First token has index 0.
</description>
<name>begin</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<type>int</type>
</attribute>
<attribute>
<description>
Iteration ends at the token located at the
specified index (inclusive).
</description>
<name>end</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<type>int</type>
</attribute>
<attribute>
<description>
Iteration will only process every step tokens
of the string, starting with the first one.
</description>
<name>step</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<type>int</type>
</attribute>
<attribute>
<description>
Name of the exported scoped variable for the
current item of the iteration. This scoped
variable has nested visibility.
</description>
<name>var</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<description>
Name of the exported scoped variable for the
status of the iteration. Object exported is of
type
javax.servlet.jsp.jstl.core.LoopTag
Status. This scoped variable has nested
visibility.
</description>
<name>varStatus</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
</tag>
<tag>
<description>
Like &lt;%= ... &gt;, but for expressions.
</description>
<name>out</name>
<tag-class>org.apache.taglibs.standard.tag.rt.core.OutTag</tag-class>
<body-content>JSP</body-content>
<attribute>
<description>
Expression to be evaluated.
</description>
<name>value</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<description>
Default value if the resulting value is null.
</description>
<name>default</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<description>
Determines whether characters &lt;,&gt;,&amp;,'," in the
resulting string should be converted to their
corresponding character entity codes. Default value is
true.
</description>
<name>escapeXml</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
<tag>
<description>
Subtag of &lt;choose&gt; that follows &lt;when&gt; tags
and runs only if all of the prior conditions evaluated to
'false'
</description>
<name>otherwise</name>
<tag-class>org.apache.taglibs.standard.tag.common.core.OtherwiseTag</tag-class>
<body-content>JSP</body-content>
</tag>
<tag>
<description>
Adds a parameter to a containing 'import' tag's URL.
</description>
<name>param</name>
<tag-class>org.apache.taglibs.standard.tag.rt.core.ParamTag</tag-class>
<body-content>JSP</body-content>
<attribute>
<description>
Name of the query string parameter.
</description>
<name>name</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<description>
Value of the parameter.
</description>
<name>value</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
<tag>
<description>
Redirects to a new URL.
</description>
<name>redirect</name>
<tag-class>org.apache.taglibs.standard.tag.rt.core.RedirectTag</tag-class>
<body-content>JSP</body-content>
<attribute>
<description>
The URL of the resource to redirect to.
</description>
<name>url</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<description>
Name of the context when redirecting to a relative URL
resource that belongs to a foreign context.
</description>
<name>context</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
<tag>
<description>
Removes a scoped variable (from a particular scope, if specified).
</description>
<name>remove</name>
<tag-class>org.apache.taglibs.standard.tag.common.core.RemoveTag</tag-class>
<body-content>empty</body-content>
<attribute>
<description>
Name of the scoped variable to be removed.
</description>
<name>var</name>
<required>true</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<description>
Scope for var.
</description>
<name>scope</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
</tag>
<tag>
<description>
Sets the result of an expression evaluation in a 'scope'
</description>
<name>set</name>
<tag-class>org.apache.taglibs.standard.tag.rt.core.SetTag</tag-class>
<body-content>JSP</body-content>
<attribute>
<description>
Name of the exported scoped variable to hold the value
specified in the action. The type of the scoped variable is
whatever type the value expression evaluates to.
</description>
<name>var</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<description>
Expression to be evaluated.
</description>
<name>value</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<description>
Target object whose property will be set. Must evaluate to
a JavaBeans object with setter property property, or to a
java.util.Map object.
</description>
<name>target</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<description>
Name of the property to be set in the target object.
</description>
<name>property</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<description>
Scope for var.
</description>
<name>scope</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
</tag>
<tag>
<description>
Creates a URL with optional query parameters.
</description>
<name>url</name>
<tag-class>org.apache.taglibs.standard.tag.rt.core.UrlTag</tag-class>
<body-content>JSP</body-content>
<attribute>
<description>
Name of the exported scoped variable for the
processed url. The type of the scoped variable is
String.
</description>
<name>var</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<description>
Scope for var.
</description>
<name>scope</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<description>
URL to be processed.
</description>
<name>value</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<description>
Name of the context when specifying a relative URL
resource that belongs to a foreign context.
</description>
<name>context</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
<tag>
<description>
Subtag of &lt;choose&gt; that includes its body if its
condition evalutes to 'true'
</description>
<name>when</name>
<tag-class>org.apache.taglibs.standard.tag.rt.core.WhenTag</tag-class>
<body-content>JSP</body-content>
<attribute>
<description>
The test condition that determines whether or not the
body content should be processed.
</description>
<name>test</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
<type>boolean</type>
</attribute>
</tag>
</taglib>

@ -0,0 +1,403 @@
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE taglib
PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN"
"http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd">
<taglib>
<tlib-version>1.0</tlib-version>
<jsp-version>1.2</jsp-version>
<short-name>fmt_rt</short-name>
<uri>http://java.sun.com/jstl/fmt_rt</uri>
<display-name>JSTL fmt RT</display-name>
<description>JSTL 1.0 i18n-capable formatting library</description>
<validator>
<validator-class>
org.apache.taglibs.standard.tlv.JstlFmtTLV
</validator-class>
<description>
Provides core validation features for JSTL tags.
</description>
</validator>
<tag>
<name>requestEncoding</name>
<tag-class>org.apache.taglibs.standard.tag.rt.fmt.RequestEncodingTag</tag-class>
<body-content>empty</body-content>
<description>
Sets the request character encoding
</description>
<attribute>
<name>value</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
<tag>
<name>setLocale</name>
<tag-class>org.apache.taglibs.standard.tag.rt.fmt.SetLocaleTag</tag-class>
<body-content>empty</body-content>
<description>
Stores the given locale in the locale configuration variable
</description>
<attribute>
<name>value</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>variant</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>scope</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
</tag>
<tag>
<name>timeZone</name>
<tag-class>org.apache.taglibs.standard.tag.rt.fmt.TimeZoneTag</tag-class>
<body-content>JSP</body-content>
<description>
Specifies the time zone for any time formatting or parsing actions
nested in its body
</description>
<attribute>
<name>value</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
<tag>
<name>setTimeZone</name>
<tag-class>org.apache.taglibs.standard.tag.rt.fmt.SetTimeZoneTag</tag-class>
<body-content>empty</body-content>
<description>
Stores the given time zone in the time zone configuration variable
</description>
<attribute>
<name>value</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>var</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>scope</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
</tag>
<tag>
<name>bundle</name>
<tag-class>org.apache.taglibs.standard.tag.rt.fmt.BundleTag</tag-class>
<body-content>JSP</body-content>
<description>
Loads a resource bundle to be used by its tag body
</description>
<attribute>
<name>basename</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>prefix</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
<tag>
<name>setBundle</name>
<tag-class>org.apache.taglibs.standard.tag.rt.fmt.SetBundleTag</tag-class>
<body-content>empty</body-content>
<description>
Loads a resource bundle and stores it in the named scoped variable or
the bundle configuration variable
</description>
<attribute>
<name>basename</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>var</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>scope</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
</tag>
<tag>
<name>message</name>
<tag-class>org.apache.taglibs.standard.tag.rt.fmt.MessageTag</tag-class>
<body-content>JSP</body-content>
<description>
Maps key to localized message and performs parametric replacement
</description>
<attribute>
<name>key</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>bundle</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>var</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>scope</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
</tag>
<tag>
<name>param</name>
<tag-class>org.apache.taglibs.standard.tag.rt.fmt.ParamTag</tag-class>
<body-content>JSP</body-content>
<description>
Supplies an argument for parametric replacement to a containing
&lt;message&gt; tag
</description>
<attribute>
<name>value</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
<tag>
<name>formatNumber</name>
<tag-class>org.apache.taglibs.standard.tag.rt.fmt.FormatNumberTag</tag-class>
<body-content>JSP</body-content>
<description>
Formats a numeric value as a number, currency, or percentage
</description>
<attribute>
<name>value</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>type</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>pattern</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>currencyCode</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>currencySymbol</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>groupingUsed</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>maxIntegerDigits</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>minIntegerDigits</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>maxFractionDigits</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>minFractionDigits</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>var</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>scope</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
</tag>
<tag>
<name>parseNumber</name>
<tag-class>org.apache.taglibs.standard.tag.rt.fmt.ParseNumberTag</tag-class>
<body-content>JSP</body-content>
<description>
Parses the string representation of a number, currency, or percentage
</description>
<attribute>
<name>value</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>type</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>pattern</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>parseLocale</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>integerOnly</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>var</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>scope</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
</tag>
<tag>
<name>formatDate</name>
<tag-class>org.apache.taglibs.standard.tag.rt.fmt.FormatDateTag</tag-class>
<body-content>empty</body-content>
<description>
Formats a date and/or time using the supplied styles and pattern
</description>
<attribute>
<name>value</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>type</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>dateStyle</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>timeStyle</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>pattern</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>timeZone</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>var</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>scope</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
</tag>
<tag>
<name>parseDate</name>
<tag-class>org.apache.taglibs.standard.tag.rt.fmt.ParseDateTag</tag-class>
<body-content>JSP</body-content>
<description>
Parses the string representation of a date and/or time
</description>
<attribute>
<name>value</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>type</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>dateStyle</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>timeStyle</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>pattern</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>timeZone</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>parseLocale</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>var</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>scope</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
</tag>
</taglib>

@ -0,0 +1,442 @@
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE taglib
PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN"
"http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd">
<taglib>
<tlib-version>1.0</tlib-version>
<jsp-version>1.2</jsp-version>
<short-name>fmt</short-name>
<uri>http://java.sun.com/jstl/fmt</uri>
<display-name>JSTL fmt</display-name>
<description>JSTL 1.0 i18n-capable formatting library</description>
<validator>
<validator-class>
org.apache.taglibs.standard.tlv.JstlFmtTLV
</validator-class>
<init-param>
<param-name>expressionAttributes</param-name>
<param-value>
requestEncoding:value
setLocale:value
setLocale:variant
timeZone:value
setTimeZone:value
bundle:basename
bundle:prefix
setBundle:basename
message:key
message:bundle
param:value
formatNumber:value
formatNumber:pattern
formatNumber:currencyCode
formatNumber:currencySymbol
formatNumber:groupingUsed
formatNumber:maxIntegerDigits
formatNumber:minIntegerDigits
formatNumber:maxFractionDigits
formatNumber:minFractionDigits
parseNumber:value
parseNumber:pattern
parseNumber:parseLocale
parseNumber:integerOnly
formatDate:value
formatDate:pattern
formatDate:timeZone
parseDate:value
parseDate:pattern
parseDate:timeZone
parseDate:parseLocale
</param-value>
<description>
Whitespace-separated list of colon-separated token pairs
describing tag:attribute combinations that accept expressions.
The validator uses this information to determine which
attributes need their syntax validated.
</description>
</init-param>
</validator>
<tag>
<name>requestEncoding</name>
<tag-class>org.apache.taglibs.standard.tag.el.fmt.RequestEncodingTag</tag-class>
<body-content>empty</body-content>
<description>
Sets the request character encoding
</description>
<attribute>
<name>value</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
</tag>
<tag>
<name>setLocale</name>
<tag-class>org.apache.taglibs.standard.tag.el.fmt.SetLocaleTag</tag-class>
<body-content>empty</body-content>
<description>
Stores the given locale in the locale configuration variable
</description>
<attribute>
<name>value</name>
<required>true</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>variant</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>scope</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
</tag>
<tag>
<name>timeZone</name>
<tag-class>org.apache.taglibs.standard.tag.el.fmt.TimeZoneTag</tag-class>
<body-content>JSP</body-content>
<description>
Specifies the time zone for any time formatting or parsing actions
nested in its body
</description>
<attribute>
<name>value</name>
<required>true</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
</tag>
<tag>
<name>setTimeZone</name>
<tag-class>org.apache.taglibs.standard.tag.el.fmt.SetTimeZoneTag</tag-class>
<body-content>empty</body-content>
<description>
Stores the given time zone in the time zone configuration variable
</description>
<attribute>
<name>value</name>
<required>true</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>var</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>scope</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
</tag>
<tag>
<name>bundle</name>
<tag-class>org.apache.taglibs.standard.tag.el.fmt.BundleTag</tag-class>
<body-content>JSP</body-content>
<description>
Loads a resource bundle to be used by its tag body
</description>
<attribute>
<name>basename</name>
<required>true</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>prefix</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
</tag>
<tag>
<name>setBundle</name>
<tag-class>org.apache.taglibs.standard.tag.el.fmt.SetBundleTag</tag-class>
<body-content>empty</body-content>
<description>
Loads a resource bundle and stores it in the named scoped variable or
the bundle configuration variable
</description>
<attribute>
<name>basename</name>
<required>true</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>var</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>scope</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
</tag>
<tag>
<name>message</name>
<tag-class>org.apache.taglibs.standard.tag.el.fmt.MessageTag</tag-class>
<body-content>JSP</body-content>
<description>
Maps key to localized message and performs parametric replacement
</description>
<attribute>
<name>key</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>bundle</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>var</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>scope</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
</tag>
<tag>
<name>param</name>
<tag-class>org.apache.taglibs.standard.tag.el.fmt.ParamTag</tag-class>
<body-content>JSP</body-content>
<description>
Supplies an argument for parametric replacement to a containing
&lt;message&gt; tag
</description>
<attribute>
<name>value</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
</tag>
<tag>
<name>formatNumber</name>
<tag-class>org.apache.taglibs.standard.tag.el.fmt.FormatNumberTag</tag-class>
<body-content>JSP</body-content>
<description>
Formats a numeric value as a number, currency, or percentage
</description>
<attribute>
<name>value</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>type</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>pattern</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>currencyCode</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>currencySymbol</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>groupingUsed</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>maxIntegerDigits</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>minIntegerDigits</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>maxFractionDigits</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>minFractionDigits</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>var</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>scope</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
</tag>
<tag>
<name>parseNumber</name>
<tag-class>org.apache.taglibs.standard.tag.el.fmt.ParseNumberTag</tag-class>
<body-content>JSP</body-content>
<description>
Parses the string representation of a number, currency, or percentage
</description>
<attribute>
<name>value</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>type</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>pattern</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>parseLocale</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>integerOnly</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>var</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>scope</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
</tag>
<tag>
<name>formatDate</name>
<tag-class>org.apache.taglibs.standard.tag.el.fmt.FormatDateTag</tag-class>
<body-content>empty</body-content>
<description>
Formats a date and/or time using the supplied styles and pattern
</description>
<attribute>
<name>value</name>
<required>true</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>type</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>dateStyle</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>timeStyle</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>pattern</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>timeZone</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>var</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>scope</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
</tag>
<tag>
<name>parseDate</name>
<tag-class>org.apache.taglibs.standard.tag.el.fmt.ParseDateTag</tag-class>
<body-content>JSP</body-content>
<description>
Parses the string representation of a date and/or time
</description>
<attribute>
<name>value</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>type</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>dateStyle</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>timeStyle</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>pattern</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>timeZone</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>parseLocale</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>var</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>scope</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
</tag>
</taglib>

@ -0,0 +1,671 @@
<?xml version="1.0" encoding="UTF-8" ?>
<taglib xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
version="2.0">
<description>JSTL 1.1 i18n-capable formatting library</description>
<display-name>JSTL fmt</display-name>
<tlib-version>1.1</tlib-version>
<short-name>fmt</short-name>
<uri>http://java.sun.com/jsp/jstl/fmt</uri>
<validator>
<description>
Provides core validation features for JSTL tags.
</description>
<validator-class>
org.apache.taglibs.standard.tlv.JstlFmtTLV
</validator-class>
</validator>
<tag>
<description>
Sets the request character encoding
</description>
<name>requestEncoding</name>
<tag-class>org.apache.taglibs.standard.tag.rt.fmt.RequestEncodingTag</tag-class>
<body-content>empty</body-content>
<attribute>
<description>
Name of character encoding to be applied when
decoding request parameters.
</description>
<name>value</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
<tag>
<description>
Stores the given locale in the locale configuration variable
</description>
<name>setLocale</name>
<tag-class>org.apache.taglibs.standard.tag.rt.fmt.SetLocaleTag</tag-class>
<body-content>empty</body-content>
<attribute>
<description>
A String value is interpreted as the
printable representation of a locale, which
must contain a two-letter (lower-case)
language code (as defined by ISO-639),
and may contain a two-letter (upper-case)
country code (as defined by ISO-3166).
Language and country codes must be
separated by hyphen (-) or underscore
(_).
</description>
<name>value</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<description>
Vendor- or browser-specific variant.
See the java.util.Locale javadocs for
more information on variants.
</description>
<name>variant</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<description>
Scope of the locale configuration variable.
</description>
<name>scope</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
</tag>
<tag>
<description>
Specifies the time zone for any time formatting or parsing actions
nested in its body
</description>
<name>timeZone</name>
<tag-class>org.apache.taglibs.standard.tag.rt.fmt.TimeZoneTag</tag-class>
<body-content>JSP</body-content>
<attribute>
<description>
The time zone. A String value is interpreted as
a time zone ID. This may be one of the time zone
IDs supported by the Java platform (such as
"America/Los_Angeles") or a custom time zone
ID (such as "GMT-8"). See
java.util.TimeZone for more information on
supported time zone formats.
</description>
<name>value</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
<tag>
<description>
Stores the given time zone in the time zone configuration variable
</description>
<name>setTimeZone</name>
<tag-class>org.apache.taglibs.standard.tag.rt.fmt.SetTimeZoneTag</tag-class>
<body-content>empty</body-content>
<attribute>
<description>
The time zone. A String value is interpreted as
a time zone ID. This may be one of the time zone
IDs supported by the Java platform (such as
"America/Los_Angeles") or a custom time zone
ID (such as "GMT-8"). See java.util.TimeZone for
more information on supported time zone
formats.
</description>
<name>value</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<description>
Name of the exported scoped variable which
stores the time zone of type
java.util.TimeZone.
</description>
<name>var</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<description>
Scope of var or the time zone configuration
variable.
</description>
<name>scope</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
</tag>
<tag>
<description>
Loads a resource bundle to be used by its tag body
</description>
<name>bundle</name>
<tag-class>org.apache.taglibs.standard.tag.rt.fmt.BundleTag</tag-class>
<body-content>JSP</body-content>
<attribute>
<description>
Resource bundle base name. This is the bundle's
fully-qualified resource name, which has the same
form as a fully-qualified class name, that is, it uses
"." as the package component separator and does not
have any file type (such as ".class" or ".properties")
suffix.
</description>
<name>basename</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<description>
Prefix to be prepended to the value of the message
key of any nested &lt;fmt:message&gt; action.
</description>
<name>prefix</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
<tag>
<description>
Loads a resource bundle and stores it in the named scoped variable or
the bundle configuration variable
</description>
<name>setBundle</name>
<tag-class>org.apache.taglibs.standard.tag.rt.fmt.SetBundleTag</tag-class>
<body-content>empty</body-content>
<attribute>
<description>
Resource bundle base name. This is the bundle's
fully-qualified resource name, which has the same
form as a fully-qualified class name, that is, it uses
"." as the package component separator and does not
have any file type (such as ".class" or ".properties")
suffix.
</description>
<name>basename</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<description>
Name of the exported scoped variable which stores
the i18n localization context of type
javax.servlet.jsp.jstl.fmt.LocalizationC
ontext.
</description>
<name>var</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<description>
Scope of var or the localization context
configuration variable.
</description>
<name>scope</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
</tag>
<tag>
<description>
Maps key to localized message and performs parametric replacement
</description>
<name>message</name>
<tag-class>org.apache.taglibs.standard.tag.rt.fmt.MessageTag</tag-class>
<body-content>JSP</body-content>
<attribute>
<description>
Message key to be looked up.
</description>
<name>key</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<description>
Localization context in whose resource
bundle the message key is looked up.
</description>
<name>bundle</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<description>
Name of the exported scoped variable
which stores the localized message.
</description>
<name>var</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<description>
Scope of var.
</description>
<name>scope</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
</tag>
<tag>
<description>
Supplies an argument for parametric replacement to a containing
&lt;message&gt; tag
</description>
<name>param</name>
<tag-class>org.apache.taglibs.standard.tag.rt.fmt.ParamTag</tag-class>
<body-content>JSP</body-content>
<attribute>
<description>
Argument used for parametric replacement.
</description>
<name>value</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
<tag>
<description>
Formats a numeric value as a number, currency, or percentage
</description>
<name>formatNumber</name>
<tag-class>org.apache.taglibs.standard.tag.rt.fmt.FormatNumberTag</tag-class>
<body-content>JSP</body-content>
<attribute>
<description>
Numeric value to be formatted.
</description>
<name>value</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<description>
Specifies whether the value is to be
formatted as number, currency, or
percentage.
</description>
<name>type</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<description>
Custom formatting pattern.
</description>
<name>pattern</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<description>
ISO 4217 currency code. Applied only
when formatting currencies (i.e. if type is
equal to "currency"); ignored otherwise.
</description>
<name>currencyCode</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<description>
Currency symbol. Applied only when
formatting currencies (i.e. if type is equal
to "currency"); ignored otherwise.
</description>
<name>currencySymbol</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<description>
Specifies whether the formatted output
will contain any grouping separators.
</description>
<name>groupingUsed</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<description>
Maximum number of digits in the integer
portion of the formatted output.
</description>
<name>maxIntegerDigits</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<description>
Minimum number of digits in the integer
portion of the formatted output.
</description>
<name>minIntegerDigits</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<description>
Maximum number of digits in the
fractional portion of the formatted output.
</description>
<name>maxFractionDigits</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<description>
Minimum number of digits in the
fractional portion of the formatted output.
</description>
<name>minFractionDigits</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<description>
Name of the exported scoped variable
which stores the formatted result as a
String.
</description>
<name>var</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<description>
Scope of var.
</description>
<name>scope</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
</tag>
<tag>
<description>
Parses the string representation of a number, currency, or percentage
</description>
<name>parseNumber</name>
<tag-class>org.apache.taglibs.standard.tag.rt.fmt.ParseNumberTag</tag-class>
<body-content>JSP</body-content>
<attribute>
<description>
String to be parsed.
</description>
<name>value</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<description>
Specifies whether the string in the value
attribute should be parsed as a number,
currency, or percentage.
</description>
<name>type</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<description>
Custom formatting pattern that determines
how the string in the value attribute is to be
parsed.
</description>
<name>pattern</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<description>
Locale whose default formatting pattern (for
numbers, currencies, or percentages,
respectively) is to be used during the parse
operation, or to which the pattern specified
via the pattern attribute (if present) is
applied.
</description>
<name>parseLocale</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<description>
Specifies whether just the integer portion of
the given value should be parsed.
</description>
<name>integerOnly</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<description>
Name of the exported scoped variable which
stores the parsed result (of type
java.lang.Number).
</description>
<name>var</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<description>
Scope of var.
</description>
<name>scope</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
</tag>
<tag>
<description>
Formats a date and/or time using the supplied styles and pattern
</description>
<name>formatDate</name>
<tag-class>org.apache.taglibs.standard.tag.rt.fmt.FormatDateTag</tag-class>
<body-content>empty</body-content>
<attribute>
<description>
Date and/or time to be formatted.
</description>
<name>value</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<description>
Specifies whether the time, the date, or both
the time and date components of the given
date are to be formatted.
</description>
<name>type</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<description>
Predefined formatting style for dates. Follows
the semantics defined in class
java.text.DateFormat. Applied only
when formatting a date or both a date and
time (i.e. if type is missing or is equal to
"date" or "both"); ignored otherwise.
</description>
<name>dateStyle</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<description>
Predefined formatting style for times. Follows
the semantics defined in class
java.text.DateFormat. Applied only
when formatting a time or both a date and
time (i.e. if type is equal to "time" or "both");
ignored otherwise.
</description>
<name>timeStyle</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<description>
Custom formatting style for dates and times.
</description>
<name>pattern</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<description>
Time zone in which to represent the formatted
time.
</description>
<name>timeZone</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<description>
Name of the exported scoped variable which
stores the formatted result as a String.
</description>
<name>var</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<description>
Scope of var.
</description>
<name>scope</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
</tag>
<tag>
<description>
Parses the string representation of a date and/or time
</description>
<name>parseDate</name>
<tag-class>org.apache.taglibs.standard.tag.rt.fmt.ParseDateTag</tag-class>
<body-content>JSP</body-content>
<attribute>
<description>
Date string to be parsed.
</description>
<name>value</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<description>
Specifies whether the date string in the
value attribute is supposed to contain a
time, a date, or both.
</description>
<name>type</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<description>
Predefined formatting style for days
which determines how the date
component of the date string is to be
parsed. Applied only when formatting a
date or both a date and time (i.e. if type
is missing or is equal to "date" or "both");
ignored otherwise.
</description>
<name>dateStyle</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<description>
Predefined formatting styles for times
which determines how the time
component in the date string is to be
parsed. Applied only when formatting a
time or both a date and time (i.e. if type
is equal to "time" or "both"); ignored
otherwise.
</description>
<name>timeStyle</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<description>
Custom formatting pattern which
determines how the date string is to be
parsed.
</description>
<name>pattern</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<description>
Time zone in which to interpret any time
information in the date string.
</description>
<name>timeZone</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<description>
Locale whose predefined formatting styles
for dates and times are to be used during
the parse operation, or to which the
pattern specified via the pattern
attribute (if present) is applied.
</description>
<name>parseLocale</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<description>
Name of the exported scoped variable in
which the parsing result (of type
java.util.Date) is stored.
</description>
<name>var</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<description>
Scope of var.
</description>
<name>scope</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
</tag>
</taglib>

@ -0,0 +1,206 @@
<?xml version="1.0" encoding="UTF-8" ?>
<taglib xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
version="2.0">
<description>JSTL 1.1 functions library</description>
<display-name>JSTL functions</display-name>
<tlib-version>1.1</tlib-version>
<short-name>fn</short-name>
<uri>http://java.sun.com/jsp/jstl/functions</uri>
<function>
<description>
Tests if an input string contains the specified substring.
</description>
<name>contains</name>
<function-class>org.apache.taglibs.standard.functions.Functions</function-class>
<function-signature>boolean contains(java.lang.String, java.lang.String)</function-signature>
<example>
&lt;c:if test="${fn:contains(name, searchString)}">
</example>
</function>
<function>
<description>
Tests if an input string contains the specified substring in a case insensitive way.
</description>
<name>containsIgnoreCase</name>
<function-class>org.apache.taglibs.standard.functions.Functions</function-class>
<function-signature>boolean containsIgnoreCase(java.lang.String, java.lang.String)</function-signature>
<example>
&lt;c:if test="${fn:containsIgnoreCase(name, searchString)}">
</example>
</function>
<function>
<description>
Tests if an input string ends with the specified suffix.
</description>
<name>endsWith</name>
<function-class>org.apache.taglibs.standard.functions.Functions</function-class>
<function-signature>boolean endsWith(java.lang.String, java.lang.String)</function-signature>
<example>
&lt;c:if test="${fn:endsWith(filename, ".txt")}">
</example>
</function>
<function>
<description>
Escapes characters that could be interpreted as XML markup.
</description>
<name>escapeXml</name>
<function-class>org.apache.taglibs.standard.functions.Functions</function-class>
<function-signature>java.lang.String escapeXml(java.lang.String)</function-signature>
<example>
${fn:escapeXml(param:info)}
</example>
</function>
<function>
<description>
Returns the index withing a string of the first occurrence of a specified substring.
</description>
<name>indexOf</name>
<function-class>org.apache.taglibs.standard.functions.Functions</function-class>
<function-signature>int indexOf(java.lang.String, java.lang.String)</function-signature>
<example>
${fn:indexOf(name, "-")}
</example>
</function>
<function>
<description>
Joins all elements of an array into a string.
</description>
<name>join</name>
<function-class>org.apache.taglibs.standard.functions.Functions</function-class>
<function-signature>java.lang.String join(java.lang.String[], java.lang.String)</function-signature>
<example>
${fn:join(array, ";")}
</example>
</function>
<function>
<description>
Returns the number of items in a collection, or the number of characters in a string.
</description>
<name>length</name>
<function-class>org.apache.taglibs.standard.functions.Functions</function-class>
<function-signature>int length(java.lang.Object)</function-signature>
<example>
You have ${fn:length(shoppingCart.products)} in your shopping cart.
</example>
</function>
<function>
<description>
Returns a string resulting from replacing in an input string all occurrences
of a "before" string into an "after" substring.
</description>
<name>replace</name>
<function-class>org.apache.taglibs.standard.functions.Functions</function-class>
<function-signature>java.lang.String replace(java.lang.String, java.lang.String, java.lang.String)</function-signature>
<example>
${fn:replace(text, "-", "&#149;")}
</example>
</function>
<function>
<description>
Splits a string into an array of substrings.
</description>
<name>split</name>
<function-class>org.apache.taglibs.standard.functions.Functions</function-class>
<function-signature>java.lang.String[] split(java.lang.String, java.lang.String)</function-signature>
<example>
${fn:split(customerNames, ";")}
</example>
</function>
<function>
<description>
Tests if an input string starts with the specified prefix.
</description>
<name>startsWith</name>
<function-class>org.apache.taglibs.standard.functions.Functions</function-class>
<function-signature>boolean startsWith(java.lang.String, java.lang.String)</function-signature>
<example>
&lt;c:if test="${fn:startsWith(product.id, "100-")}">
</example>
</function>
<function>
<description>
Returns a subset of a string.
</description>
<name>substring</name>
<function-class>org.apache.taglibs.standard.functions.Functions</function-class>
<function-signature>java.lang.String substring(java.lang.String, int, int)</function-signature>
<example>
P.O. Box: ${fn:substring(zip, 6, -1)}
</example>
</function>
<function>
<description>
Returns a subset of a string following a specific substring.
</description>
<name>substringAfter</name>
<function-class>org.apache.taglibs.standard.functions.Functions</function-class>
<function-signature>java.lang.String substringAfter(java.lang.String, java.lang.String)</function-signature>
<example>
P.O. Box: ${fn:substringAfter(zip, "-")}
</example>
</function>
<function>
<description>
Returns a subset of a string before a specific substring.
</description>
<name>substringBefore</name>
<function-class>org.apache.taglibs.standard.functions.Functions</function-class>
<function-signature>java.lang.String substringBefore(java.lang.String, java.lang.String)</function-signature>
<example>
Zip (without P.O. Box): ${fn:substringBefore(zip, "-")}
</example>
</function>
<function>
<description>
Converts all of the characters of a string to lower case.
</description>
<name>toLowerCase</name>
<function-class>org.apache.taglibs.standard.functions.Functions</function-class>
<function-signature>java.lang.String toLowerCase(java.lang.String)</function-signature>
<example>
Product name: ${fn.toLowerCase(product.name)}
</example>
</function>
<function>
<description>
Converts all of the characters of a string to upper case.
</description>
<name>toUpperCase</name>
<function-class>org.apache.taglibs.standard.functions.Functions</function-class>
<function-signature>java.lang.String toUpperCase(java.lang.String)</function-signature>
<example>
Product name: ${fn.UpperCase(product.name)}
</example>
</function>
<function>
<description>
Removes white spaces from both ends of a string.
</description>
<name>trim</name>
<function-class>org.apache.taglibs.standard.functions.Functions</function-class>
<function-signature>java.lang.String trim(java.lang.String)</function-signature>
<example>
Name: ${fn.trim(name)}
</example>
</function>
</taglib>

@ -0,0 +1,34 @@
<?xml version="1.0" encoding="UTF-8" ?>
<taglib xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
version="2.0">
<description>
Restricts JSP pages to the JSTL tag libraries
</description>
<display-name>permittedTaglibs</display-name>
<tlib-version>1.1</tlib-version>
<short-name>permittedTaglibs</short-name>
<uri>http://jakarta.apache.org/taglibs/standard/permittedTaglibs</uri>
<validator>
<validator-class>
javax.servlet.jsp.jstl.tlv.PermittedTaglibsTLV
</validator-class>
<init-param>
<description>
Whitespace-separated list of taglib URIs to permit. This example
TLD for the Standard Taglib allows only JSTL 'el' taglibs to be
imported.
</description>
<param-name>permittedTaglibs</param-name>
<param-value>
http://java.sun.com/jsp/jstl/core
http://java.sun.com/jsp/jstl/fmt
http://java.sun.com/jsp/jstl/sql
http://java.sun.com/jsp/jstl/xml
</param-value>
</init-param>
</validator>
</taglib>

@ -0,0 +1,51 @@
<?xml version="1.0" encoding="UTF-8" ?>
<taglib xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
version="2.0">
<description>
Validates JSP pages to prohibit use of scripting elements.
</description>
<tlib-version>1.1</tlib-version>
<short-name>scriptfree</short-name>
<uri>http://jakarta.apache.org/taglibs/standard/scriptfree</uri>
<validator>
<description>
Validates prohibitions against scripting elements.
</description>
<validator-class>
javax.servlet.jsp.jstl.tlv.ScriptFreeTLV
</validator-class>
<init-param>
<description>
Controls whether or not declarations are considered valid.
</description>
<param-name>allowDeclarations</param-name>
<param-value>false</param-value>
</init-param>
<init-param>
<description>
Controls whether or not scriptlets are considered valid.
</description>
<param-name>allowScriptlets</param-name>
<param-value>false</param-value>
</init-param>
<init-param>
<description>
Controls whether or not top-level expressions are considered valid.
</description>
<param-name>allowExpressions</param-name>
<param-value>false</param-value>
</init-param>
<init-param>
<description>
Controls whether or not expressions used to supply request-time
attribute values are considered valid.
</description>
<param-name>allowRTExpressions</param-name>
<param-value>false</param-value>
</init-param>
</validator>
</taglib>

@ -0,0 +1,188 @@
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE taglib
PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN"
"http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd">
<taglib>
<tlib-version>1.0</tlib-version>
<jsp-version>1.2</jsp-version>
<short-name>sql_rt</short-name>
<uri>http://java.sun.com/jstl/sql_rt</uri>
<display-name>JSTL sql RT</display-name>
<description>JSTL 1.0 sql library</description>
<validator>
<validator-class>
org.apache.taglibs.standard.tlv.JstlSqlTLV
</validator-class>
<description>
Provides core validation features for JSTL tags.
</description>
</validator>
<tag>
<name>transaction</name>
<tag-class>org.apache.taglibs.standard.tag.rt.sql.TransactionTag</tag-class>
<body-content>JSP</body-content>
<description>
Provides nested database action elements with a shared Connection,
set up to execute all statements as one transaction.
</description>
<attribute>
<name>dataSource</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>isolation</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
<tag>
<name>query</name>
<tag-class>org.apache.taglibs.standard.tag.rt.sql.QueryTag</tag-class>
<body-content>JSP</body-content>
<description>
Executes the SQL query defined in its body or through the
sql attribute.
</description>
<attribute>
<name>var</name>
<required>true</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>scope</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>sql</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>dataSource</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>startRow</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>maxRows</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
<tag>
<name>update</name>
<tag-class>org.apache.taglibs.standard.tag.rt.sql.UpdateTag</tag-class>
<body-content>JSP</body-content>
<description>
Executes the SQL update defined in its body or through the
sql attribute.
</description>
<attribute>
<name>var</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>scope</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>sql</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>dataSource</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
<tag>
<name>param</name>
<tag-class>org.apache.taglibs.standard.tag.rt.sql.ParamTag</tag-class>
<body-content>JSP</body-content>
<description>
Sets a parameter in an SQL statement to the specified value.
</description>
<attribute>
<name>value</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
<tag>
<name>dateParam</name>
<tag-class>org.apache.taglibs.standard.tag.rt.sql.DateParamTag</tag-class>
<body-content>empty</body-content>
<description>
Sets a parameter in an SQL statement to the specified java.util.Date value.
</description>
<attribute>
<name>value</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>type</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
<tag>
<name>setDataSource</name>
<tag-class>org.apache.taglibs.standard.tag.rt.sql.SetDataSourceTag</tag-class>
<body-content>empty</body-content>
<description>
Creates a simple DataSource suitable only for prototyping.
</description>
<attribute>
<name>var</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>scope</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>dataSource</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>driver</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>url</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>user</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>password</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
</taglib>

@ -0,0 +1,213 @@
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE taglib
PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN"
"http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd">
<taglib>
<tlib-version>1.0</tlib-version>
<jsp-version>1.2</jsp-version>
<short-name>sql</short-name>
<uri>http://java.sun.com/jstl/sql</uri>
<display-name>JSTL sql</display-name>
<description>JSTL 1.0 sql library</description>
<validator>
<validator-class>
org.apache.taglibs.standard.tlv.JstlSqlTLV
</validator-class>
<init-param>
<param-name>expressionAttributes</param-name>
<param-value>
transaction:dataSource
transaction:isolation
query:sql
query:dataSource
query:startRow
query:maxRows
update:sql
update:dataSource
param:value
dateParam:value
dateParam:type
setDataSource:dataSource
setDataSource:driver
setDataSource:url
setDataSource:user
setDataSource:password
</param-value>
<description>
Whitespace-separated list of colon-separated token pairs
describing tag:attribute combinations that accept expressions.
The validator uses this information to determine which
attributes need their syntax validated.
</description>
</init-param>
</validator>
<tag>
<name>transaction</name>
<tag-class>org.apache.taglibs.standard.tag.el.sql.TransactionTag</tag-class>
<body-content>JSP</body-content>
<description>
Provides nested database action elements with a shared Connection,
set up to execute all statements as one transaction.
</description>
<attribute>
<name>dataSource</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>isolation</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
</tag>
<tag>
<name>query</name>
<tag-class>org.apache.taglibs.standard.tag.el.sql.QueryTag</tag-class>
<body-content>JSP</body-content>
<description>
Executes the SQL query defined in its body or through the
sql attribute.
</description>
<attribute>
<name>var</name>
<required>true</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>scope</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>sql</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>dataSource</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>startRow</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>maxRows</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
</tag>
<tag>
<name>update</name>
<tag-class>org.apache.taglibs.standard.tag.el.sql.UpdateTag</tag-class>
<body-content>JSP</body-content>
<description>
Executes the SQL update defined in its body or through the
sql attribute.
</description>
<attribute>
<name>var</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>scope</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>sql</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>dataSource</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
</tag>
<tag>
<name>param</name>
<tag-class>org.apache.taglibs.standard.tag.el.sql.ParamTag</tag-class>
<body-content>JSP</body-content>
<description>
Sets a parameter in an SQL statement to the specified value.
</description>
<attribute>
<name>value</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
</tag>
<tag>
<name>dateParam</name>
<tag-class>org.apache.taglibs.standard.tag.el.sql.DateParamTag</tag-class>
<body-content>empty</body-content>
<description>
Sets a parameter in an SQL statement to the specified java.util.Date val
ue.
</description>
<attribute>
<name>value</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>type</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
<tag>
<name>setDataSource</name>
<tag-class>org.apache.taglibs.standard.tag.el.sql.SetDataSourceTag</tag-class>
<body-content>empty</body-content>
<description>
Creates a simple DataSource suitable only for prototyping.
</description>
<attribute>
<name>var</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>scope</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>dataSource</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>driver</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>url</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>user</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>password</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
</tag>
</taglib>

@ -0,0 +1,289 @@
<?xml version="1.0" encoding="UTF-8" ?>
<taglib xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
version="2.0">
<description>JSTL 1.1 sql library</description>
<display-name>JSTL sql</display-name>
<tlib-version>1.1</tlib-version>
<short-name>sql</short-name>
<uri>http://java.sun.com/jsp/jstl/sql</uri>
<validator>
<description>
Provides core validation features for JSTL tags.
</description>
<validator-class>
org.apache.taglibs.standard.tlv.JstlSqlTLV
</validator-class>
</validator>
<tag>
<description>
Provides nested database action elements with a shared Connection,
set up to execute all statements as one transaction.
</description>
<name>transaction</name>
<tag-class>org.apache.taglibs.standard.tag.rt.sql.TransactionTag</tag-class>
<body-content>JSP</body-content>
<attribute>
<description>
DataSource associated with the database to access. A
String value represents a relative path to a JNDI
resource or the parameters for the JDBC
DriverManager facility.
</description>
<name>dataSource</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<description>
Transaction isolation level. If not specified, it is the
isolation level the DataSource has been configured
with.
</description>
<name>isolation</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
<tag>
<description>
Executes the SQL query defined in its body or through the
sql attribute.
</description>
<name>query</name>
<tag-class>org.apache.taglibs.standard.tag.rt.sql.QueryTag</tag-class>
<body-content>JSP</body-content>
<attribute>
<description>
Name of the exported scoped variable for the
query result. The type of the scoped variable is
javax.servlet.jsp.jstl.sql.
Result (see Chapter 16 "Java APIs").
</description>
<name>var</name>
<required>true</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<description>
Scope of var.
</description>
<name>scope</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<description>
SQL query statement.
</description>
<name>sql</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<description>
Data source associated with the database to
query. A String value represents a relative path
to a JNDI resource or the parameters for the
DriverManager class.
</description>
<name>dataSource</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<description>
The returned Result object includes the rows
starting at the specified index. The first row of
the original query result set is at index 0. If not
specified, rows are included starting from the
first row at index 0.
</description>
<name>startRow</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<description>
The maximum number of rows to be included in
the query result. If not specified, or set to -1, no
limit on the maximum number of rows is
enforced.
</description>
<name>maxRows</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
<tag>
<description>
Executes the SQL update defined in its body or through the
sql attribute.
</description>
<name>update</name>
<tag-class>org.apache.taglibs.standard.tag.rt.sql.UpdateTag</tag-class>
<body-content>JSP</body-content>
<attribute>
<description>
Name of the exported scoped variable for the result
of the database update. The type of the scoped
variable is java.lang.Integer.
</description>
<name>var</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<description>
Scope of var.
</description>
<name>scope</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<description>
SQL update statement.
</description>
<name>sql</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<description>
Data source associated with the database to update.
A String value represents a relative path to a JNDI
resource or the parameters for the JDBC
DriverManager class.
</description>
<name>dataSource</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
<tag>
<description>
Sets a parameter in an SQL statement to the specified value.
</description>
<name>param</name>
<tag-class>org.apache.taglibs.standard.tag.rt.sql.ParamTag</tag-class>
<body-content>JSP</body-content>
<attribute>
<description>
Parameter value.
</description>
<name>value</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
<tag>
<description>
Sets a parameter in an SQL statement to the specified java.util.Date value.
</description>
<name>dateParam</name>
<tag-class>org.apache.taglibs.standard.tag.rt.sql.DateParamTag</tag-class>
<body-content>empty</body-content>
<attribute>
<description>
Parameter value for DATE, TIME, or
TIMESTAMP column in a database table.
</description>
<name>value</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<description>
One of "date", "time" or "timestamp".
</description>
<name>type</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
<tag>
<description>
Creates a simple DataSource suitable only for prototyping.
</description>
<name>setDataSource</name>
<tag-class>org.apache.taglibs.standard.tag.rt.sql.SetDataSourceTag</tag-class>
<body-content>empty</body-content>
<attribute>
<description>
Name of the exported scoped variable
for the data source specified. Type can
be String or DataSource.
</description>
<name>var</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<description>
If var is specified, scope of the
exported variable. Otherwise, scope of
the data source configuration variable.
</description>
<name>scope</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<description>
Data source. If specified as a string, it
can either be a relative path to a JNDI
resource, or a JDBC parameters string
as defined in Section 10.1.1.
</description>
<name>dataSource</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<description>
JDBC parameter: driver class name.
</description>
<name>driver</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<description>
JDBC parameter: URL associated with
the database.
</description>
<name>url</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<description>
JDBC parameter: database user on
whose behalf the connection to the
database is being made.
</description>
<name>user</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<description>
JDBC parameter: user password
</description>
<name>password</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
</taglib>

@ -0,0 +1,256 @@
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE taglib
PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN"
"http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd">
<taglib>
<tlib-version>1.0</tlib-version>
<jsp-version>1.2</jsp-version>
<short-name>x_rt</short-name>
<uri>http://java.sun.com/jstl/xml_rt</uri>
<display-name>JSTL XML RT</display-name>
<description>JSTL 1.0 XML library</description>
<validator>
<validator-class>
org.apache.taglibs.standard.tlv.JstlXmlTLV
</validator-class>
<description>
Provides validation features for JSTL XML tags.
</description>
</validator>
<tag>
<name>choose</name>
<tag-class>org.apache.taglibs.standard.tag.common.core.ChooseTag</tag-class>
<body-content>JSP</body-content>
<description>
Simple conditional tag that establishes a context for
mutually exclusive conditional operations, marked by
&lt;when&gt; and &lt;otherwise&gt;
</description>
</tag>
<tag>
<name>out</name>
<tag-class>org.apache.taglibs.standard.tag.rt.xml.ExprTag</tag-class>
<body-content>empty</body-content>
<description>
Like &lt;%= ... &gt;, but for XPath expressions.
</description>
<attribute>
<name>select</name>
<required>true</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>escapeXml</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
<tag>
<name>if</name>
<tag-class>org.apache.taglibs.standard.tag.common.xml.IfTag</tag-class>
<body-content>JSP</body-content>
<description>
XML conditional tag, which evalutes its body if the
supplied XPath expression evalutes to 'true' as a boolean
</description>
<attribute>
<name>select</name>
<required>true</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>var</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>scope</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
</tag>
<tag>
<name>forEach</name>
<tag-class>org.apache.taglibs.standard.tag.common.xml.ForEachTag</tag-class>
<body-content>JSP</body-content>
<description>
XML iteration tag.
</description>
<attribute>
<name>var</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>select</name>
<required>true</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
</tag>
<tag>
<name>otherwise</name>
<tag-class>org.apache.taglibs.standard.tag.common.core.OtherwiseTag</tag-class>
<body-content>JSP</body-content>
<description>
Subtag of &lt;choose&gt; that follows &lt;when&gt; tags
and runs only if all of the prior conditions evaluated to
'false'
</description>
</tag>
<tag>
<name>param</name>
<tag-class>org.apache.taglibs.standard.tag.rt.xml.ParamTag</tag-class>
<body-content>JSP</body-content>
<description>
Adds a parameter to a containing 'transform' tag's Transformer
</description>
<attribute>
<name>name</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>value</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
<tag>
<name>parse</name>
<tag-class>org.apache.taglibs.standard.tag.rt.xml.ParseTag</tag-class>
<tei-class>org.apache.taglibs.standard.tei.XmlParseTEI</tei-class>
<body-content>JSP</body-content>
<description>
Parses XML content from 'source' attribute or 'body'
</description>
<attribute>
<name>var</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>varDom</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>scope</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>scopeDom</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>xml</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>systemId</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>filter</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
<tag>
<name>set</name>
<tag-class>org.apache.taglibs.standard.tag.common.xml.SetTag</tag-class>
<body-content>empty</body-content>
<description>
Saves the result of an XPath expression evaluation in a 'scope'
</description>
<attribute>
<name>var</name>
<required>true</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>select</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>scope</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
</tag>
<tag>
<name>transform</name>
<tag-class>org.apache.taglibs.standard.tag.rt.xml.TransformTag</tag-class>
<tei-class>org.apache.taglibs.standard.tei.XmlTransformTEI</tei-class>
<body-content>JSP</body-content>
<description>
Conducts a transformation given a source XML document
and an XSLT stylesheet
</description>
<attribute>
<name>var</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>scope</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>result</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>xml</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>xmlSystemId</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>xslt</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>xsltSystemId</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
<tag>
<name>when</name>
<tag-class>org.apache.taglibs.standard.tag.common.xml.WhenTag</tag-class>
<body-content>JSP</body-content>
<description>
Subtag of &lt;choose&gt; that includes its body if its
expression evalutes to 'true'
</description>
<attribute>
<name>select</name>
<required>true</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
</tag>
</taglib>

@ -0,0 +1,273 @@
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE taglib
PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN"
"http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd">
<taglib>
<tlib-version>1.0</tlib-version>
<jsp-version>1.2</jsp-version>
<short-name>x</short-name>
<uri>http://java.sun.com/jstl/xml</uri>
<display-name>JSTL XML</display-name>
<description>JSTL 1.0 XML library</description>
<validator>
<validator-class>
org.apache.taglibs.standard.tlv.JstlXmlTLV
</validator-class>
<init-param>
<param-name>expressionAttributes</param-name>
<param-value>
out:escapeXml
parse:xml
parse:systemId
parse:filter
transform:xml
transform:xmlSystemId
transform:xslt
transform:xsltSystemId
transform:result
</param-value>
<description>
Whitespace-separated list of colon-separated token pairs
describing tag:attribute combinations that accept expressions.
The validator uses this information to determine which
attributes need their syntax validated.
</description>
</init-param>
</validator>
<tag>
<name>choose</name>
<tag-class>org.apache.taglibs.standard.tag.common.core.ChooseTag</tag-class>
<body-content>JSP</body-content>
<description>
Simple conditional tag that establishes a context for
mutually exclusive conditional operations, marked by
&lt;when&gt; and &lt;otherwise&gt;
</description>
</tag>
<tag>
<name>out</name>
<tag-class>org.apache.taglibs.standard.tag.el.xml.ExprTag</tag-class>
<body-content>empty</body-content>
<description>
Like &lt;%= ... &gt;, but for XPath expressions.
</description>
<attribute>
<name>select</name>
<required>true</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>escapeXml</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
</tag>
<tag>
<name>if</name>
<tag-class>org.apache.taglibs.standard.tag.common.xml.IfTag</tag-class>
<body-content>JSP</body-content>
<description>
XML conditional tag, which evalutes its body if the
supplied XPath expression evalutes to 'true' as a boolean
</description>
<attribute>
<name>select</name>
<required>true</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>var</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>scope</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
</tag>
<tag>
<name>forEach</name>
<tag-class>org.apache.taglibs.standard.tag.common.xml.ForEachTag</tag-class>
<body-content>JSP</body-content>
<description>
XML iteration tag.
</description>
<attribute>
<name>var</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>select</name>
<required>true</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
</tag>
<tag>
<name>otherwise</name>
<tag-class>org.apache.taglibs.standard.tag.common.core.OtherwiseTag</tag-class>
<body-content>JSP</body-content>
<description>
Subtag of &lt;choose&gt; that follows &lt;when&gt; tags
and runs only if all of the prior conditions evaluated to
'false'
</description>
</tag>
<tag>
<name>param</name>
<tag-class>org.apache.taglibs.standard.tag.el.xml.ParamTag</tag-class>
<body-content>JSP</body-content>
<description>
Adds a parameter to a containing 'transform' tag's Transformer
</description>
<attribute>
<name>name</name>
<required>true</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>value</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
</tag>
<tag>
<name>parse</name>
<tag-class>org.apache.taglibs.standard.tag.el.xml.ParseTag</tag-class>
<tei-class>org.apache.taglibs.standard.tei.XmlParseTEI</tei-class>
<body-content>JSP</body-content>
<description>
Parses XML content from 'source' attribute or 'body'
</description>
<attribute>
<name>var</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>varDom</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>scope</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>scopeDom</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>xml</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>systemId</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>filter</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
</tag>
<tag>
<name>set</name>
<tag-class>org.apache.taglibs.standard.tag.common.xml.SetTag</tag-class>
<body-content>empty</body-content>
<description>
Saves the result of an XPath expression evaluation in a 'scope'
</description>
<attribute>
<name>var</name>
<required>true</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>select</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>scope</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
</tag>
<tag>
<name>transform</name>
<tag-class>org.apache.taglibs.standard.tag.el.xml.TransformTag</tag-class>
<tei-class>org.apache.taglibs.standard.tei.XmlTransformTEI</tei-class>
<body-content>JSP</body-content>
<description>
Conducts a transformation given a source XML document
and an XSLT stylesheet
</description>
<attribute>
<name>var</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>scope</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>result</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>xml</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>xmlSystemId</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>xslt</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>xsltSystemId</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
</tag>
<tag>
<name>when</name>
<tag-class>org.apache.taglibs.standard.tag.common.xml.WhenTag</tag-class>
<body-content>JSP</body-content>
<description>
Subtag of &lt;choose&gt; that includes its body if its
expression evalutes to 'true'
</description>
<attribute>
<name>select</name>
<required>true</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
</tag>
</taglib>

@ -0,0 +1,448 @@
<?xml version="1.0" encoding="UTF-8" ?>
<taglib xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
version="2.0">
<description>JSTL 1.1 XML library</description>
<display-name>JSTL XML</display-name>
<tlib-version>1.1</tlib-version>
<short-name>x</short-name>
<uri>http://java.sun.com/jsp/jstl/xml</uri>
<validator>
<description>
Provides validation features for JSTL XML tags.
</description>
<validator-class>
org.apache.taglibs.standard.tlv.JstlXmlTLV
</validator-class>
</validator>
<tag>
<description>
Simple conditional tag that establishes a context for
mutually exclusive conditional operations, marked by
&lt;when&gt; and &lt;otherwise&gt;
</description>
<name>choose</name>
<tag-class>org.apache.taglibs.standard.tag.common.core.ChooseTag</tag-class>
<body-content>JSP</body-content>
</tag>
<tag>
<description>
Like &lt;%= ... &gt;, but for XPath expressions.
</description>
<name>out</name>
<tag-class>org.apache.taglibs.standard.tag.rt.xml.ExprTag</tag-class>
<body-content>empty</body-content>
<attribute>
<description>
XPath expression to be evaluated.
</description>
<name>select</name>
<required>true</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<description>
Determines whether characters &lt;,&gt;,&amp;,'," in the
resulting string should be converted to their
corresponding character entity codes. Default
value is true.
</description>
<name>escapeXml</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
<tag>
<description>
XML conditional tag, which evalutes its body if the
supplied XPath expression evalutes to 'true' as a boolean
</description>
<name>if</name>
<tag-class>org.apache.taglibs.standard.tag.common.xml.IfTag</tag-class>
<body-content>JSP</body-content>
<attribute>
<description>
The test condition that tells whether or not the
body content should be processed.
</description>
<name>select</name>
<required>true</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<description>
Name of the exported scoped variable for the
resulting value of the test condition. The type
of the scoped variable is Boolean.
</description>
<name>var</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<description>
Scope for var.
</description>
<name>scope</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
</tag>
<tag>
<description>
XML iteration tag.
</description>
<name>forEach</name>
<tag-class>org.apache.taglibs.standard.tag.common.xml.ForEachTag</tag-class>
<body-content>JSP</body-content>
<attribute>
<description>
Name of the exported scoped variable for the
current item of the iteration. This scoped variable
has nested visibility. Its type depends on the
result of the XPath expression in the select
attribute.
</description>
<name>var</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<description>
XPath expression to be evaluated.
</description>
<name>select</name>
<required>true</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<description>
Iteration begins at the item located at the
specified index. First item of the collection has
index 0.
</description>
<name>begin</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<type>int</type>
</attribute>
<attribute>
<description>
Iteration ends at the item located at the specified
index (inclusive).
</description>
<name>end</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<type>int</type>
</attribute>
<attribute>
<description>
Iteration will only process every step items of
the collection, starting with the first one.
</description>
<name>step</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<type>int</type>
</attribute>
<attribute>
<description>
Name of the exported scoped variable for the
status of the iteration. Object exported is of type
javax.servlet.jsp.jstl.core.LoopTagStatus. This scoped variable has nested visibility.
</description>
<name>varStatus</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
</tag>
<tag>
<description>
Subtag of &lt;choose&gt; that follows &lt;when&gt; tags
and runs only if all of the prior conditions evaluated to
'false'
</description>
<name>otherwise</name>
<tag-class>org.apache.taglibs.standard.tag.common.core.OtherwiseTag</tag-class>
<body-content>JSP</body-content>
</tag>
<tag>
<description>
Adds a parameter to a containing 'transform' tag's Transformer
</description>
<name>param</name>
<tag-class>org.apache.taglibs.standard.tag.rt.xml.ParamTag</tag-class>
<body-content>JSP</body-content>
<attribute>
<description>
Name of the transformation parameter.
</description>
<name>name</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<description>
Value of the parameter.
</description>
<name>value</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
<tag>
<description>
Parses XML content from 'source' attribute or 'body'
</description>
<name>parse</name>
<tag-class>org.apache.taglibs.standard.tag.rt.xml.ParseTag</tag-class>
<tei-class>org.apache.taglibs.standard.tei.XmlParseTEI</tei-class>
<body-content>JSP</body-content>
<attribute>
<description>
Name of the exported scoped variable for
the parsed XML document. The type of the
scoped variable is implementation
dependent.
</description>
<name>var</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<description>
Name of the exported scoped variable for
the parsed XML document. The type of the
scoped variable is
org.w3c.dom.Document.
</description>
<name>varDom</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<description>
Scope for var.
</description>
<name>scope</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<description>
Scope for varDom.
</description>
<name>scopeDom</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<description>
Deprecated. Use attribute 'doc' instead.
</description>
<name>xml</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<description>
Source XML document to be parsed.
</description>
<name>doc</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<description>
The system identifier (URI) for parsing the
XML document.
</description>
<name>systemId</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<description>
Filter to be applied to the source
document.
</description>
<name>filter</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
<tag>
<description>
Saves the result of an XPath expression evaluation in a 'scope'
</description>
<name>set</name>
<tag-class>org.apache.taglibs.standard.tag.common.xml.SetTag</tag-class>
<body-content>empty</body-content>
<attribute>
<description>
Name of the exported scoped variable to hold
the value specified in the action. The type of the
scoped variable is whatever type the select
expression evaluates to.
</description>
<name>var</name>
<required>true</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<description>
XPath expression to be evaluated.
</description>
<name>select</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<description>
Scope for var.
</description>
<name>scope</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
</tag>
<tag>
<description>
Conducts a transformation given a source XML document
and an XSLT stylesheet
</description>
<name>transform</name>
<tag-class>org.apache.taglibs.standard.tag.rt.xml.TransformTag</tag-class>
<tei-class>org.apache.taglibs.standard.tei.XmlTransformTEI</tei-class>
<body-content>JSP</body-content>
<attribute>
<description>
Name of the exported
scoped variable for the
transformed XML
document. The type of the
scoped variable is
org.w3c.dom.Document.
</description>
<name>var</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<description>
Scope for var.
</description>
<name>scope</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<description>
Result
Object that captures or
processes the transformation
result.
</description>
<name>result</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<description>
Deprecated. Use attribute
'doc' instead.
</description>
<name>xml</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<description>
Source XML document to be
transformed. (If exported by
&lt;x:set&gt;, it must correspond
to a well-formed XML
document, not a partial
document.)
</description>
<name>doc</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<description>
Deprecated. Use attribute
'docSystemId' instead.
</description>
<name>xmlSystemId</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<description>
The system identifier (URI)
for parsing the XML
document.
</description>
<name>docSystemId</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<description>
javax.xml.transform.Source
Transformation stylesheet as
a String, Reader, or
Source object.
</description>
<name>xslt</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<description>
The system identifier (URI)
for parsing the XSLT
stylesheet.
</description>
<name>xsltSystemId</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
<tag>
<description>
Subtag of &lt;choose&gt; that includes its body if its
expression evalutes to 'true'
</description>
<name>when</name>
<tag-class>org.apache.taglibs.standard.tag.common.xml.WhenTag</tag-class>
<body-content>JSP</body-content>
<attribute>
<description>
The test condition that tells whether or
not the body content should be
processed
</description>
<name>select</name>
<required>true</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
</tag>
</taglib>

@ -0,0 +1,46 @@
.downloadList{
margin: 10px 20px 20px 20px;
position: relative;
width: 900px;
height: 600px;
background-color: white;
border-radius: 10px;
border: 1px solid rgba(0, 0, 0, 0.4);
}
.download-list-frame{
margin: 20px;
}
.link-frame{
transition: 0.3s;
line-height: 40px;
margin: 10px;
padding-left: 20px;
border-radius: 10px;
width: 800px;
color: white;
background-color: #d24249;
height: 40px;
}
.link-frame:hover{
background-color: rgba(210, 66, 73, 0.89);
height: 50px;
}
.download-select{
margin: 20px 20px 0 20px;
background-color: #323232;
height: 70px;
width: 900px;
border-radius: 10px;
}
.download-retrieval{
color: white;
text-align: center;
font-size: 20px;
line-height: 50px;
float: left;
height:54px;
width: 884px;
margin: 5px;
border: 3px solid #6e6e6e;
border-radius: 10px;
}

@ -0,0 +1,130 @@
.fill-child{
position: relative;
margin: 10px 10px;
background-color: white;
width: 97%;
height: 200px;
border-radius: 10px;
border: 1px solid rgba(0, 0, 0, 0.26);
}
.fill-frame{
border-radius: 5px;
border: 1px solid rgba(0, 0, 0, 0.35);
position:absolute;
background-color: white;
top: 100px;
right: 10px;
width: 960px;
max-height: 700px;
overflow-y: scroll;
}
.fill-ipt-text{
width: 400px;
height: 120px;
margin: 10px 10px;
border-radius: 10px;
float: right;
border: 1px solid rgba(0, 0, 0, 0.2);
resize: none;
padding: 10px 10px;
background-color: #f4f4f4;
}
.fill-ipt-text:focus{
border: 1px solid rgb(55, 157, 255);
background-color: white;
}
.fill-ipt-text:hover{
background-color: white;
border: 1px solid rgb(55, 157, 255);
}
.submit-text{
font-size: 15px;
color: white;
cursor: pointer;
border-radius: 5px;
border: 1px solid #000000;
background-color: rgba(29, 29, 29, 0.97);
width:200px;
height: 40px;
position: absolute;
float: right;
margin: 0px 10px 10px 10px;
bottom: 0px;
right: 0px;
}
.submit-text:hover{
background-color: #575757;
}
.fill-name{
text-align: center;
line-height: 40px;
color: white;
font-size: 18px;
float: left;
background-color: #d24143;
width: 150px;
height: 40px;
border-radius: 10px;
margin: 10px;
}
.other-tips-msgs{
position: absolute;
height: 130px;
margin: 10px;
width: 400px;
border-radius: 10px;
border: 1px solid #b5b5b5;
bottom: 0px;
left: 0px;
}
.tips-msg{
font-size: 15px;
text-align: center;
color: white;
height: 25px;
width: 190px;
margin: 5px 5px;
float: left;
transition: all 0.3s;
border-radius: 5px;
background-color: #363636;
}
.tips-msg:hover{
background-color: #3d3d3d;
}
.upload-status{
float: left;
border-radius: 10px;
height: 40px;
width: 100px;
margin: 10px 10px 10px 0px;
background-color: #ff7182;
}
.download-file{
float: left;
border-radius: 10px;
height: 40px;
width: 100px;
margin: 10px 10px 10px 0px;
background-color: #ff7182;
}
.score-area{
position: absolute;
border: 1px solid rgba(0, 0, 0, 0.24);
border-radius: 10px;
width: 190px;
height: 40px;
margin: 0 0 10px 0;
bottom: 0;
right: 220px;
padding-left: 15px;
}
.fill-top-blank{
border-radius: 5px;
height: 70px;
width: 960px;
position: absolute;
top: 20px;
right: 10px;
background-color: #323232;
}

@ -1,12 +1,16 @@
body{
margin: 0px;
padding: 0px;
background-color: #dad0ce;
background-color: #f0f0f0;
width: 100%;
height: 100%;
}
.main2{
background-color: #f8f9ff;
background-color:#fafafa;
}
.updated{
position: relative;
width: 100%;
}
a{
text-decoration: none;
@ -21,10 +25,10 @@ ul{
.top-bar{
width: 100%;
height: 55px;
position: relative;
position: fixed;
background-color: #c13139;
z-index: 100;
box-shadow: 5px 0px 10px rgba(0,0,0,0.47);
box-shadow: 5px 0px 10px rgba(0, 0, 0, 0.3);
}
.top-center-bar{
position: relative;
@ -108,7 +112,6 @@ ul{
margin: 10px 10px 10px 10px;
}
.opt-options div{
width: 100%;
height: 30px;
text-align: center;
@ -121,7 +124,7 @@ ul{
background-color: rgba(0, 0, 0, 0.21);
}
.personal-opt .opt{
width: 35px;
height: 100%;
width: 55px;
cursor: pointer;
@ -138,7 +141,7 @@ width: 35px;
left: 5px;
width: 100px;
height: 800px;
background-color: #251d20;
background-color: #323232;
box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.35);
}
.nav-bar .a-process{
@ -168,11 +171,11 @@ width: 35px;
box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.32);
}
.main2{
top: 55px;
z-index: 2;
position: relative;
width: 1100px;
margin: 0px auto;
background-color: white;
}
.link-point{
display: block;
@ -193,26 +196,29 @@ width: 35px;
}
.nav-info{
color: white;
text-overflow: ellipsis;
text-align: center;
width: 100%;
font-size: 12px;
height: 16px;
}
.update-frame{
border-top: 1px solid rgba(255,105,0,0);
width: 990px;
position: relative;
left: 110px;
height: 900px;
min-height: 825px;
}
.scroll-ads{
height: 320px;
height: 250px;
width: 900px;
background-color: #ffffff;
position: absolute;
margin: 20px 45px;
border-radius: 10px;
overflow: hidden;
border: 1px solid rgba(0, 0, 0, 0.33);
box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.22);
border: 1px solid rgba(0, 0, 0, 0.46);
box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.22);
}
.scroll-ads .scroll-ads-imgs .scroll-child{
display: inline-block;
@ -243,14 +249,15 @@ width: 35px;
color: white;
}
.notice-frame{
margin:370px auto 0px 45px;
background-color: white;
margin:300px auto 0px 45px;
position: relative;
width: 800px;
height: 400px;
border:1px solid rgba(0, 0, 0, 0.32);
border-radius: 5px;
overflow: hidden;
box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.29);
box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.29);
}
.notice-frame .notice-frame-info{
@ -279,7 +286,7 @@ width: 35px;
.bar-change::-webkit-scrollbar-thumb{
width: 10px;
transition: all 0.3s;
background-color: #e45053;
background-color: rgba(210, 81, 80, 0.96);
border-radius: 10px;
}
.notice-child{
@ -302,18 +309,17 @@ width: 35px;
.notice-child .notice-text{
color: rgba(0, 0, 0, 0.91);
width: 100%;
min-height: 100px;
height: 0px;
min-height: 0;
font-size: 0px;
text-align: left;
display: none;
transition-delay:0.3s;
transition: 0.5s;
background-color: #f3f3f3;
border-top: 1px solid rgba(0, 0, 0, 0.26);
}
.notice-child .notice-title:hover + .notice-text{
display: block;
}
.notice-child .notice-text:hover{
display: block;
.notice-child.select .notice-text{
min-height: 100px;
font-size: 15px;
}
.notice-child .notice-title .expend{
position: relative;
@ -330,12 +336,15 @@ width: 35px;
margin: 0px 120px;
}
.notice-choose{
width: 80px;
height: 200px;
box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.16);
border-radius: 10px;
background-color: #ffffff;
width: 90px;
height: 400px;
position: absolute;
top: 370px;
right: 62px;
border: 1px solid rgba(255, 255, 255, 0);
top: 300px;
right: 45px;
border: 1px solid rgb(157, 157, 157);
}
.notice-choose .notice-class{
margin: 8px 0;
@ -346,9 +355,69 @@ width: 35px;
line-height: 45px;
text-align: center;
background-color: #c62235;
border-radius: 0 10px 10px 0;
border-radius: 5px 10px 10px 5px;
transition: all 0.3s;
}
.notice-choose .notice-class:hover{
width: 110%;
}
.small-ads{
z-index: 120;
right: 350px;
top: 225px;
position: absolute;
width: 200px;
height: 20px;
}
.sm-one{
float: left;
margin: 0px 15px;
width:20px;
transition: 0.3s;
height: 10px;
border-radius: 10px;
}
.sm-one .white-point{
margin: 0 auto;
width:10px;
background-color: white;
transition: 0.3s;
height: 10px;
border-radius: 10px;
}
.sm-one .white-point:hover{
width:20px;
}
.bottom-bar{
position: relative;
background-color: #323232;
height: 250px;
width: 100%;
top:60px;
}
.big-logo{
line-height: 150px;
font-size: 50px;
color: #e7e7e7;
text-align: center;
width: 100%;
height: 160px;
border-bottom:1px solid #585858;
}
.bottom-bar p{
width: 100%;
text-align: center;
color: #7b7b7b;
}
.model-info{
float: left;
width: 100px;
height: 40px;
margin: 15px 10px;
background-color: #e4e4e4;
border-radius: 5px;
color: #1b1b1b;
padding-left: 10px;
line-height: 35px;
font-size: 18px;
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 891 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.4 KiB

After

Width:  |  Height:  |  Size: 6.0 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 663 B

@ -2,10 +2,6 @@ ul{
padding: 0;
margin: 0;
}
.updated{
width: 100%;
height: 100%;
}
.personal-choose{
position: absolute;
top: 70px;
@ -128,3 +124,6 @@ ul{
.change-pw-frame .sm-input-style:hover{
background-color: #517fff;
}
.personal-frame{
background-color: white;
}

@ -2,9 +2,8 @@ button{
cursor: pointer;
}
.select-frame{
position: relative;
border:1px solid rgba(0, 0, 0, 0);
width: 100%;
height: 100%;
}
a{
text-decoration: none;
@ -13,9 +12,9 @@ a{
position: absolute;
width: 350px;
height: 50px;
top:40px;
right: 60px;
background-color: rgba(0, 0, 0, 0.14);
top:10px;
right: 20px;
background-color: rgba(255, 255, 255, 0.23);
border-radius: 5px;
}
.search-button{
@ -45,6 +44,7 @@ a{
background: rgb(255, 255, 255);
}
.list-frame .list-child{
margin: 10px 5px;
height: 120px;
width: 98%;
@ -57,12 +57,13 @@ a{
background: rgba(0, 0, 0, 0.06);
}
.list-frame{
background-color: white;
border: 1px solid rgba(0, 0, 0, 0.28);
border-radius: 10px;
overflow-y: scroll;
right: 60px;
top: 100px;
position: absolute;
margin:100px 0px 0px 198px;
max-height: 700px;
width: 600px;
width: 780px;
}
.select-it{
box-shadow:0px 2px 4px rgba(0, 0, 0, 0.22);
@ -100,24 +101,25 @@ a{
.count-select{
cursor: pointer;
position: absolute;
width: 200px;
width: 150px;
top: 100px;
left: 100px;
left: 20px;
transition: all 0.3s;
}
.count-select:hover{
top: 80px;
}
.select-blank{
display: none;
transition: 0.5s;
height: 0;
font-size: 0;
background-color: #252323;
width: 95%;
margin:0px 5px;
}
.count-select:hover .select-blank{
display: block;
transition: height 1s;
height: 400px;
background-color: #252323;
width: 95%;
margin:0px 5px;
}
.count-select .selected-info{
width: 100%;
@ -141,18 +143,18 @@ a{
box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.27);
}
.other-msgs{
font-size: 10px;
font-size: 11px;
float: left;
width: 350px;
height: 100px;
margin: 10px 0 10px 15px;
width: 450px;
height: 90px;
margin: 15px 0 15px 40px;
}
.other-msgs .one-msg{
float:left;
padding-left: 10px;
margin: 2px 2px;
margin: 5px 3px;
width: 45%;
height:16px;
height:20px;
background-color: rgba(0, 0, 0, 0.78);
border-radius: 10px;
transition: all 0.3s;
@ -160,3 +162,12 @@ a{
.one-msg:hover{
background-color: rgba(39, 39, 39, 0.78);
}
.top-blank{
position: absolute;
height: 70px;
width: 960px;
top: 20px;
left: 20px;
background-color: #323232;
border-radius: 5px;
}

@ -0,0 +1,56 @@
.upload-frame{
position:absolute;
top: 100px;
right: 10px;
width: 960px;
height: 200px;
border: 1px solid rgba(0, 0, 0, 0.33);
background-color: white;
border-radius: 10px;
}
.true-select{
visibility: hidden;
}
.upload-button{
cursor: pointer;
text-align: center;
line-height: 40px;
color: white;
border-radius: 10px;
width: 200px;
height: 50px;
margin: 10px;
background-color: rgb(66, 123, 211);
transition: 0.3s;
}
.upload-button:hover{
height: 55px;
background-color: #4b91f4;
}
.file-input-frame{
transition: 0.8s;
position: absolute;
right: 340px;
bottom: 20px;
}
.file-msg{
position: absolute;
top: 25px;
left: 70px;
border-radius: 10px;
border: 4px solid #eaeaea;
background-color: #eaeaea;
transition: 0.6s;
width: 100px;
height: 140px;
opacity: 0;
}
.upload-tips{
width: 180px;
height: 40px;
color: white;
text-align: center;
line-height: 35px;
border-radius: 10px 0px 10px 0;
background-color: rgb(210, 74, 82);
}

@ -0,0 +1,40 @@
<%--
Created by IntelliJ IDEA.
User: lenovo
Date: 2019/1/13
Time: 15:18
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>资料下载</title>
<link type="text/css" rel="stylesheet" href="cssFile/download_style.css">
<script type="text/javascript" src="jsFile/jquery-3.3.1.js"></script>
</head>
<body>
<div class="updated">
<div class="download-select">
<div class="download-retrieval">
资料下载
</div>
</div>
<div class="downloadList">
<div class="download-list-frame">
<a href="##">
<div class="link-frame">开题报告书下载</div>
</a>
<a href="##">
<div class="link-frame">论文模板下载</div>
</a>
<a href="##">
<div class="link-frame">开题纪要表下载</div>
</a>
<a href="##">
<div class="link-frame">信息下载</div>
</a>
</div>
</div>
</div>
</body>
</html>

@ -0,0 +1,54 @@
<%@ page import="core.user.User" %>
<%@ page import="java.util.Map" %>
<%@ page import="java.util.HashMap" %><%--
Created by IntelliJ IDEA.
User: lenovo
Date: 2019/1/12
Time: 13:19
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false" %>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<html>
<head>
<title>填写信息</title>
<link type="text/css" rel="stylesheet" href="cssFile/fill-style.css">
<script type="text/javascript" src="jsFile/jquery-3.3.1.js"></script>
<script type="text/javascript" src="jsFile/fill-action.js"></script>
</head>
<body>
<%Map<String,String> map2=new HashMap<String,String>();
map2.put("姓名","李先生");
map2.put("学号","201630126050");
map2.put("电话","18711191679");
map2.put("题目","论文");
map2.put("5","李先生2");
map2.put("6","李先生2");
pageContext.setAttribute("map",map2);
String type ="student";
pageContext.setAttribute("type",type);
%>
<div class="updated">
<div class="fill-top-blank"><div class="model-info">填写意见</div></div>
<div class="fill-frame bar-change">
<div class="fill-child">
<div class="fill-name">${map.姓名}</div>
<div class="upload-status"></div>
<div class="download-file"></div>
<div class="other-tips-msgs">
<c:forEach items="${map}" var="z" begin="1">
<div class="tips-msg">${z.key}:${z.value}</div>
</c:forEach>
</div>
<form class="fill-form" action="" method="post">
<textarea class="fill-ipt-text bar-change" name="text" placeholder="请输入信息"></textarea>
<c:if test="${type!='teacher'}">
<input class="score-area" name="score" placeholder="请输入分数">
</c:if>
<input type="button" class="submit-text" value="提交">
</form>
</div>
</div>
</div>
</body>
</html>

@ -6,19 +6,26 @@
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<html>
<head>
<title>毕业设计管理系统</title>
<link type="text/css" rel="stylesheet" href="cssFile/upload_style.css">
<link type="text/css" rel="stylesheet" href="cssFile/home.css">
<link type="text/css" rel="stylesheet" href="cssFile/personal.css">
<link type="text/css" rel="stylesheet" href="cssFile/select-style.css">
<link type="text/css" rel="stylesheet" href="cssFile/fill-style.css">
<link type="text/css" rel="stylesheet" href="cssFile/download_style.css">
<script type="text/javascript" src="jsFile/jquery-3.3.1.js"></script>
<script type="text/javascript" src="jsFile/homeActive.js"></script>
<script type="text/javascript" src="jsFile/home-update.js"></script>
<script type="text/javascript" src="jsFile/personal.js"></script>
<script type="text/javascript" src="jsFile/search.js"></script>
<script type="text/javascript" src="jsFile/fill-action.js"></script>
<script type="text/javascript" src="jsFile/upload_action.js"></script>
</head>
<body>
<%String type="teacher";pageContext.setAttribute("userType",type);%>
<div class="main">
<div class="top-bar">
<div class="top-center-bar">
@ -47,52 +54,75 @@
<a href="personal_setting.jsp" class="link-point personal-msg-page">
<div class="a-process-decoration personal-set">
<img src="cssFile/images/man.png">
<div class="nav-info">个人信息</div>
</div>
<div class="nav-info">个人信息</div>
</a>
</div>
<div class="a-process aux-fun">
<a href="#" class="link-point aux-fun-page">
<a href="download.jsp" class="link-point aux-fun-page">
<div class="a-process-decoration download">
<img src="cssFile/images/download.png">
<div class="nav-info">资料下载</div>
</div>
<div class="nav-info">资料下载</div>
</a>
</div>
<div class="a-process data-download">
<c:if test="${userType=='teacher'}">
<div class="a-process select-area">
<a href="select.jsp" class="link-point data-download-page">
<div class="a-process-decoration download">
<div class="a-process-decoration select">
<img src="cssFile/images/select.png">
<div class="nav-info">选择学生</div>
</div>
<div class="nav-info">选择老师</div>
</a>
</div>
<div class="a-process file-info">
<a href="fill_Information.jsp" class="link-point">
<div class="a-process-decoration">
<img src="cssFile/images/fill.png">
</div>
<div class="nav-info">填写信息</div>
</a>
</div>
<div class="a-process">
<a href="upload_file.jsp" class="link-point">
<div class="a-process-decoration">
<img src="cssFile/images/upload.png">
</div>
<div class="nav-info">上传文件</div>
</a>
</div>
</c:if>
</div>
<div class="update-frame">
<div class="small-ads">
<div class="sm-one"><div class="white-point"></div></div>
<div class="sm-one"><div class="white-point"></div></div>
<div class="sm-one"><div class="white-point"></div></div>
</div>
<div class="scroll-ads">
<ul class="scroll-ads-imgs" style="transform: translateX(0%)">
<li class="scroll-child">
<a>
<img src="cssFile/images/change.jpg">
<div class="ads-text">holle</div>
<div class="ads-text">hello</div>
</a>
</li>
<li class="scroll-child">
<a>
<img src="cssFile/images/change2.jpg">
<div class="ads-text">holle</div>
<div class="ads-text">hello</div>
</a>
</li>
<li class="scroll-child">
<a>
<img src="cssFile/images/change3.jpg">
<div class="ads-text">holle</div>
<div class="ads-text">hello</div>
</a>
</li>
<li class="scroll-child">
<a>
<img src="cssFile/images/change.jpg">
<div class="ads-text">holle</div>
<div class="ads-text">hello</div>
</a>
</li>
</ul>
@ -129,6 +159,10 @@
</div>
</div>
</div>
<div class="bottom-bar">
<div class="big-logo">GDMS</div>
<p>team bys</p>
</div>
</div>
<script type="text/javascript" src="jsFile/personal.js"></script>
</body>

@ -0,0 +1,16 @@
$(document).ready(function () {
$(document).off('click',submit_text).on('click','.submit-text',submit_text);
})
function submit_text() {
var Url3='testfrom.jsp';
var fillDate=$(this).parent().serialize();
var upddateit=$('.updated');
alert(fillDate);
$.post(Url3,fillDate,function(data,status) {
if(status=='success')
{
alert("提交成功");
}
}
);
}

@ -1,6 +1,7 @@
$(document).ready(function () {
$('.a-process').on('click',moveBar);
$('.update-to-perm').on('click',upadateFrame);
$('.notice-child').on('mouseenter',shownoticeText).on('mouseleave',hideText);
})
function moveBar() {
var distanse=21+($(this).index()-1)*91;
@ -17,24 +18,39 @@ function scrollAds() {
{
$('.scroll-ads-imgs').css('transition','0.4s');
scrolling.style.transform='translateX(-100%)';
$('.white-point').eq(1).css("width","20px");
$('.white-point').eq(2).css("width","10px");
$('.white-point').eq(0).css("width","10px");
}
else if(scrolling.style.transform=="translateX(-100%)")
{
scrolling.style.transform='translateX(-200%)';
$('.white-point').eq(2).css("width","20px");
$('.white-point').eq(1).css("width","10px");
$('.white-point').eq(0).css("width","10px");
}
else if(scrolling.style.transform=="translateX(-200%)")
{
scrolling.style.transform='translateX(-300%)';
$('.white-point').eq(0).css("width","20px");
$('.white-point').eq(2).css("width","10px");
$('.white-point').eq(1).css("width","10px");
}
else if(scrolling.style.transform=="translateX(-300%)")
{
$('.scroll-ads-imgs').css('transition','none');
scrolling.style.transform='translateX(0%)';
window.setTimeout('scrollAds()',200);
$('.white-point').eq(0).css("width","20px");
$('.white-point').eq(1).css("width","10px");
$('.white-point').eq(2).css("width","10px");
}
}
}
var start_scoll=window.setInterval('scrollAds()',3000);
function shownoticeText() {
$(this).addClass("select");
}
function hideText() {
$(this).removeClass("select");
}

@ -23,13 +23,15 @@ function KDsearchmsg(e) {
}
}
function select_one() {
var id=$('.select-it').val();
var id=$(this).val();
var button=$(this);
var selectDate={"id":id};
var Url2='select';
$.post(Url2,selectDate,function (data ,status) {
if(status==200)
var Url2='testfrom.jsp';
$.post(Url2,selectDate,function (data,status) {
if(status=='success')
{
alert('操作成功');
button.css('background-color','rgba(88, 137, 238, 0.97)')
.html("已选")
}
})
});
}

@ -0,0 +1,44 @@
$(document).ready(function () {
$(document).off('click',sendFile).on('click','.upload-it',sendFile);
$(document).off('click',selectFile).on('click','.select-file',selectFile);
$(document).off('change',showMsg).on('change','.true-select',showMsg)
})
function sendFile() {
var fileData =new FormData;
var Url4='testfrom.jsp';
var file=$('.true-select').files;
if($('.true-select').val()=='')
{
alert("请选择文件");
return;
}
fileData.append("file",file);
$.ajax({
type:"post",
url:Url4,
date:fileData,
processData:false,
contentType:false,
success:function (data,status) {
if(status=="success")
{
alert("上传成功");
}
}
})
}
function selectFile() {
$('.true-select').click();
}
function showMsg() {
var file=$(this).val();
var filename=getmsg(file);
function getmsg(file) {
var index=file.lastIndexOf("\\");
return file.substring(index+1);
}
$('.file-msg').css("opacity","1");
$('.file-name').html(filename);
$('.file-msg').css("left","340px");
$('.file-input-frame').css("right","20px")
}

@ -47,13 +47,13 @@
placeholder="请输入密码">
<input class="register-input-text name-text" type="text" name="name"
placeholder="姓名">
<input class="register-input-text e-mail-text" type="text" name="e-mail"
<input class="register-input-text e-mail-text" type="text" name="e_mail_location"
placeholder="邮箱">
<input class="register-input-text phone-number" type="text" name="phone-number"
<input class="register-input-text phone-number" type="text" name="phone_number"
placeholder="请输入电话">
<input class="register-input-text check-password-text" type="password" name="password-check"
placeholder="请确认密码">
<select class="id-check">
<select class="id-check" name="usertype">
<option value="">身份</option>
<option value="student">学生</option>
<option value="teacher">老师</option>

@ -0,0 +1,19 @@
<%--
Created by IntelliJ IDEA.
User: lenovo
Date: 2019/1/12
Time: 13:08
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>操作失败</title>
</head>
<body>
<div class="option-fail" style="margin: 100px 580px;">
<img src="cssFile/images/error.png">
<a href="login.jsp" style="margin: 0px auto">返回登陆</a>
</div>
</body>
</html>

@ -17,8 +17,8 @@ for(int i=0;i<3;i++)
<div class="list-child">
<div class="name"><span class="the-name"><%=a%></span></div>
<div class="other-msgs">
<%for(int k=0;k<b.length;k++)
for (int n=0;n<b[0].length;n++)
<%for(int k=0;k<2;k++)
for (int n=0;n<2;n++)
out.print(" <div class=\"one-msg\">电话号码:"+b[k][n]+"</div>");
%>
<div class="one-msg">电话号码18711191679</div>

@ -16,10 +16,13 @@
<body>
<div class="updated">
<div class="select-frame">
<div class="top-blank">
<div class="model-info">选择学生</div>
<div class="search-frame">
<input class="search-input" type="text" name="id" value="" placeholder="输入学号查找">
<div class="search-button"></div>
</div>
</div>
<div class="count-select">
<div class="selected-info">已选学生</div>
<div class="select-blank"></div>
@ -35,8 +38,6 @@
<div class="one-msg">专业:软件工程</div>
<div class="one-msg">电话号码18711191679</div>
<div class="one-msg">邮箱823169880@qq.com</div>
<div class="one-msg">年级2016</div>
<div class="one-msg">专业:软件工程</div>
</div>
<button class="select-it">选择</button>
</div>

@ -0,0 +1,20 @@
<%@ page import="java.util.List" %>
<%@page import="org.apache.commons.fileupload.FileItem" %>
<%@page import="org.apache.commons.fileupload.FileUploadBase"%>
<%@page import="org.apache.commons.fileupload.FileUploadException"%>
<%@page import="org.apache.commons.fileupload.ProgressListener"%>
<%@page import="org.apache.commons.fileupload.disk.DiskFileItemFactory"%>
<%@page import="org.apache.commons.fileupload.servlet.ServletFileUpload"%>
<%@page import="java.io.File"%>
<%@ page import="java.io.PrintWriter" %>
<%--
Created by IntelliJ IDEA.
User: lenovo
Date: 2019/1/12
Time: 19:55
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%
%>
<div>hello</div>

@ -0,0 +1,32 @@
<%--
Created by IntelliJ IDEA.
User: lenovo
Date: 2019/1/13
Time: 10:21
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>上传文件</title>
<link type="text/css" rel="stylesheet" href="cssFile/upload_style.css">
<script type="text/javascript" src="jsFile/jquery-3.3.1.js"></script>
<script type="text/javascript" src="jsFile/upload_action.js"></script>
</head>
<body>
<div class="updated">
<div class="fill-top-blank"><div class="model-info">上传定稿</div></div>
<div class="upload-frame">
<div class="upload-tips">上传定稿</div>
<div class="file-msg">
<img src="cssFile/images/file-pdf.png">
<span class="file-name" style="color: rgba(0,0,0,0.72)">
</span>
</div>
<div class="file-input-frame"><input class="true-select" type="file" accept="application/pdf" multiple="multiple">
<div class="upload-button select-file">选择文件</div>
<div class="upload-button upload-it">上传文件</div></div>
</div>
</div>
</body>
</html>
Loading…
Cancel
Save