我想从jsp的以下部分中删除日期的硬编码:
if ("1".equals(formFields.getValue("latefeesweek"))){
formFields.mapDataToSession("latefeesdate","06/10/2013");
formFields.mapDataToSession("latefeesdatedisplay","June 10, 2013 Prior to 8:00 A.M.(Central Time)");
}else if ("2".equals(formFields.getValue("latefeesweek"))){
formFields.mapDataToSession("latefeesdate","06/17/2013");
formFields.mapDataToSession("latefeesdatedisplay","June 17, 2013 Prior to 8:00 A.M.(Central Time)");
}else{
formFields.mapDataToSession("latefeesdate","07/08/2013");
formFields.mapDataToSession("latefeesdatedisplay","July 08, 2013 Prior to 8:00 A.M.(Central Time)");
}
并替换为以下内容:
if ("1".equals(formFields.getValue("latefeesweek"))){
formFields.mapDataToSession("latefeesdate", week1);
formFields.mapDataToSession("latefeesdatedisplay",week1display);
}else if ("2".equals(formFields.getValue("latefeesweek"))){
formFields.mapDataToSession("latefeesdate",week2);
formFields.mapDataToSession("latefeesdatedisplay",week2display);
}else{
formFields.mapDataToSession("latefeesdate",week3);
formFields.mapDataToSession("latefeesdatedisplay",week3display);
}
我打算在属性文件(商店标准)中定义week1,week2,week3,week1display,week2display,week3display,并通过$ ff.week1在html中使用这些字段。
我正在寻找合适的语法。
感谢您的指导。
答案 0 :(得分:0)
你可以创建一个var
并将字符串保存在代码顶部
var week1display = dd/MM/yyyy
var week2display = dd/MM/yyyy
var week3display = dd/MM/yyyy
if ("1".equals(formFields.getValue("latefeesweek"))){
formFields.mapDataToSession("latefeesdate", week1);
formFields.mapDataToSession("latefeesdatedisplay",week1display);
}else if ("2".equals(formFields.getValue("latefeesweek"))){
formFields.mapDataToSession("latefeesdate",week2);
formFields.mapDataToSession("latefeesdatedisplay",week2display);
}else{
formFields.mapDataToSession("latefeesdate",week3);
formFields.mapDataToSession("latefeesdatedisplay",week3display);
}
或者你可以存储日期(如果你正在使用和排序文件持久性方法)
var x = new Date();
HERE是一个链接,提供有关比较Date()
的信息。
希望这有帮助。
答案 1 :(得分:0)
根据The-Doctor的建议,使用var来保存它们就是解决方案。但是,您可以通过使用对象数组来进一步概括它。此解决方案允许您添加多个日期等...所以将来,您所要做的就是编辑日期列表。
您的软件现在可以支持3个以上的延迟通知
// Create our object
function LateFee(startWeekDate) {
this.startOfWeek = startWeekDate;
}
// Define a method to convert the date to a string
LateFee.prototype.toString = function() {
return [this.startOfWeek.getDate(),
this.startOfWeek.getMonth(),
this.startOfWeek.getFullYear()].join('/');
}
// Define a method to convert date to a notice
LateFee.prototype.notice = function() {
var monthOfYear = ["January", "February", "March", "April", "May",
"June", "July", "August", "September", "October",
"November", "December"];
return [monthOfYear[this.startOfWeek.getMonth()],
this.startOfWeek.getDate(),
this.startOfWeek.getFullYear(),
"Prior to 8:00 A.M. (Central Time)"].join(' ');
}
// List of late dates
var lateDates = [new LateFee(new Date(2014, 06, 05)),
new LateFee(new Date(2014, 06, 15)),
new LateFee(new Date(2014, 06, 20))];
// Current late date
var lateFeesWeek = parseInt(formFields.getValue("latefeesweek"), 10) - 1;
// Try to pick a late date from the list.
// If the index doesn't exist, pick the last one.
var lateDate = lateDates[lateFeesWeek] || lateDates[lateDates.length - 1];
// Do the stuff you have to do.
formFields.mapDataToSession("latefeesdate", lateDate.toString());
formFields.mapDataToSession("latefeesdatedisplay", lateDate.notice());