求正规的中文日历控件,jsf用,谢谢!

cynthia 2007-05-21 11:09:52
rt
...全文
1710 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
alex870626 2012-03-08
  • 打赏
  • 举报
回复
myfaces 不会用啊
cynthia 2007-12-11
  • 打赏
  • 举报
回复
用的<t:inputDate>,结贴散分。
daniel_kaka 2007-05-22
  • 打赏
  • 举报
回复
用jscalendar-1.0,两个js文件就够了~
没必要这么麻烦吧~
mxm_1123 2007-05-22
  • 打赏
  • 举报
回复
你要把你的tomahawk.jar文件拷贝lib目录下,上面的错误是找不到过滤器的类呀。
YBZYCM 2007-05-21
  • 打赏
  • 举报
回复
js的行不行呀?
cynthia 2007-05-21
  • 打赏
  • 举报
回复
mxm_1123(无名),使用这个是要在web.xml里配置filter吗?如下:
<filter>
<filter-name>MyFacesExtensionsFilter</filter-name>
<filter-class>org.apache.myfaces.webapp.filter.ExtensionsFilter</filter-class>
<init-param>
<param-name>maxFileSize</param-name>
<param-value>20m</param-value>
</init-param>
</filter>

<!-- extension mapping for adding <script/>, <link/>, and other resource tags to JSF-pages -->
<filter-mapping>
<filter-name>MyFacesExtensionsFilter</filter-name>
<!-- servlet-name must match the name of your javax.faces.webapp.FacesServlet entry -->
<servlet-name>Faces Servlet</servlet-name>
</filter-mapping>

<!-- extension mapping for serving page-independent resources (javascript, stylesheets, images, etc.) -->
<filter-mapping>
<filter-name>MyFacesExtensionsFilter</filter-name>
<url-pattern>/faces/myFacesExtensionResource/*</url-pattern>
</filter-mapping>

为什么我加了以后,启动tomcat报错呢?错误如下:
Exception starting filter MyFacesExtensionsFilter
java.lang.ClassNotFoundException: org.apache.myfaces.webapp.filter.ExtensionsFilter
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1355)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1201)
at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:209)
at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:304)
at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:77)
at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3634)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4217)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:759)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:739)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:524)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:904)
at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:867)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:474)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1122)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:310)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1021)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:718)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1013)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:442)
at org.apache.catalina.core.StandardService.start(StandardService.java:450)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:709)
at org.apache.catalina.startup.Catalina.start(Catalina.java:551)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:294)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:432)
cynthia 2007-05-21
  • 打赏
  • 举报
回复
imA,非正规的也给俺瞧瞧看
cynthia 2007-05-21
  • 打赏
  • 举报
回复
yanglove77() ,jsf里哪里自带了日期控件啊?
imA 2007-05-21
  • 打赏
  • 举报
回复
我有非正规的中文日历控件,楼主要不要?
yanglove77 2007-05-21
  • 打赏
  • 举报
回复
JSF里自带日期控件啊
jyh149129 2007-05-21
  • 打赏
  • 举报
回复
apache myfacse 的tomahawk组件库,有这个功能,DEMO里有 .<t:inputDate/>
wwpewr 2007-05-21
  • 打赏
  • 举报
回复
楼主可以参考一个这个
http://blog.csdn.net/21aspnet/archive/2007/05/14/1607712.aspx
AHUA1001 2007-05-21
  • 打赏
  • 举报
回复
function minute(name,fName){
this.name = name;
this.fName = fName || "m_input";
this.timer = null;
this.fObj = null;
this.toString = function(){
var objDate = new Date();
var sMinute_Common = "class=\"m_input\" maxlength=\"2\" name=\""+this.fName+"\" onfocus=\""+this.name+".setFocusObj(this)\" onblur=\""+this.name+".setTime(this)\" onkeyup=\""+this.name+".prevent(this)\" onkeypress=\"if (!/[0-9]/.test(String.fromCharCode(event.keyCode)))event.keyCode=0\" onpaste=\"return false\" ondragenter=\"return false\"";
var sButton_Common = "class=\"m_arrow\" onfocus=\"this.blur()\" onmouseup=\""+this.name+".controlTime()\" disabled"
var str = "";
str += "<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">"
str += "<tr><td>"
str += "<div class=\"m_frameborder\">"
str += "<input radix=\"24\" value=\""+this.formatTime(objDate.getHours())+"\" "+sMinute_Common+">:"
str += "<input radix=\"60\" value=\""+this.formatTime(objDate.getMinutes())+"\" "+sMinute_Common+">:"
str += "<input radix=\"60\" value=\""+this.formatTime(objDate.getSeconds())+"\" "+sMinute_Common+">"
str += "</div></td>"
str += "<td>"
str += "<table border=\"0\" cellspacing=\"2\" cellpadding=\"0\">"
str += "<tr><td><button id=\""+this.fName+"_up\" "+sButton_Common+">5</button></td></tr>"
str += "<tr><td><button id=\""+this.fName+"_down\" "+sButton_Common+">6</button></td></tr>"
str += "</table>"
str += "</td></tr></table>"
return str;
}
this.play = function(){
this.timer = setInterval(this.name+".playback()",1000);
}
this.formatTime = function(sTime){
sTime = ("0"+sTime);
return sTime.substr(sTime.length-2);
}
this.playback = function(){
var objDate = new Date();
var arrDate = [objDate.getHours(),objDate.getMinutes(),objDate.getSeconds()];
var objMinute = document.getElementsByName(this.fName);
for (var i=0;i<objMinute.length;i++){
objMinute[i].value = this.formatTime(arrDate[i])
}
}
this.prevent = function(obj){
clearInterval(this.timer);
this.setFocusObj(obj);
var value = parseInt(obj.value,10);
var radix = parseInt(obj.radix,10)-1;
if (obj.value>radix||obj.value<0){
obj.value = obj.value.substr(0,1);
}
}
this.controlTime = function(cmd){
event.cancelBubble = true;
if (!this.fObj) return;
clearInterval(this.timer);
var cmd = event.srcElement.innerText=="5"?true:false;
var i = parseInt(this.fObj.value,10);
var radix = parseInt(this.fObj.radix,10)-1;
if (i==radix&&cmd){
i = 0;
}else if (i==0&&!cmd){
i = radix;
}else{
cmd?i++:i--;
}
this.fObj.value = this.formatTime(i);
this.fObj.select();
}
this.setTime = function(obj){
obj.value = this.formatTime(obj.value);
}
this.setFocusObj = function(obj){
eval(this.fName+"_up").disabled = eval(this.fName+"_down").disabled = false;
this.fObj = obj;
}
this.getTime = function(){
var arrTime = new Array(2);
for (var i=0;i<document.getElementsByName(this.fName).length;i++){
arrTime[i] = document.getElementsByName(this.fName)[i].value;
}
return arrTime.join(":");
}
}
</script>
<script language="javascript">
// Written by cloudchen, 2004/03/16
function calendar(name,fName){
this.name = name;
this.fName = fName || "calendar";
this.year = new Date().getFullYear();
this.month = new Date().getMonth();
this.date = new Date().getDate();
//private
this.toString = function(){
var str = "";
str += "<table border=\"0\" cellspacing=\"3\" cellpadding=\"0\" onselectstart=\"return false\">";
str += "<tr>";
str += "<td align=\"right\">";
str += this.drawYear();
str += "</td>";
str += "<td>";
str += this.drawMonth();
str += "</td>";
str += "</tr>";
str += "<tr><td colspan=\"2\">";
str += "<div class=\"c_frameborder\">";
str += "<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\" class=\"c_dateHead\">";
str += "<tr>";
str += "<td>日</td><td>一</td><td>二</td><td>三</td><td>四</td><td>五</td><td>六</td>";
str += "</tr></table>";
str += this.drawDate();
str += "</div></td></tr></table>";
return str;
}
//private
this.drawYear = function(){
var str = "";
str += "<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">";
str += "<tr><td>";
str += "<input class=\"c_year\" maxlength=\"4\" value=\""+this.year+"\" name=\""+this.fName+"\" id=\""+this.fName+"_year\" readonly>";
//DateField
str += "<input type=\"hidden\" name=\""+this.fName+"\" value=\""+this.date+"\" id=\""+this.fName+"_date\">";
str += "</td>";
str += "<td>";
str += "<table cellspacing=\"2\" cellpadding=\"0\" border=\"0\">";
str += "<tr>";
str += "<td><button class=\"c_arrow\" onfocus=\"this.blur()\" onclick=\"event.cancelBubble=true;document.getElementById('"+this.fName+"_year').value++;"+this.name+".redrawDate()\">5</button></td>";
str += "</tr>";
str += "<tr>";
str += "<td><button class=\"c_arrow\" onfocus=\"this.blur()\" onclick=\"event.cancelBubble=true;document.getElementById('"+this.fName+"_year').value--;"+this.name+".redrawDate()\">6</button></td>";
str += "</tr>";
str += "</table>";
str += "</td></tr></table>";
return str;
}
//priavate
this.drawMonth = function(){
var aMonthName = ["一月份","二月份","三月份","四月份","五月份","六月份","七月份","八月份","九月份","十月份","十一月份","十二月份"];
var str = "";
str += "<select class=\"c_month\" name=\""+this.fName+"\" id=\""+this.fName+"_month\" onchange=\""+this.name+".redrawDate()\">";
for (var i=0;i<aMonthName.length;i++) {
str += "<option value=\""+(i+1)+"\" "+(i==this.month?"selected":"")+">"+aMonthName[i]+"</option>";
}
str += "</select>";
return str;
}
//private
this.drawDate = function(){
var str = "";
var fDay = new Date(this.year,this.month,1).getDay();
var fDate = 1-fDay;
var lDay = new Date(this.year,this.month+1,0).getDay();
var lDate = new Date(this.year,this.month+1,0).getDate();
str += "<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\" id=\""+this.fName+"_dateTable"+"\">";
for (var i=1,j=fDate;i<7;i++){
str += "<tr>";
for (var k=0;k<7;k++){
str += "<td ><span"+(j==this.date?" class=\"selected\"":"")+" onclick=\""+this.name+".redrawDate(this.innerText)\" >"+(isDate(j++))+"</span></td>";
}
str += "</tr>";
}
str += "</table>";
return str;
function isDate(n){
return (n>=1&&n<=lDate)?n:"";
}
}
//public
this.redrawDate = function(d){
this.year = document.getElementById(this.fName+"_year").value;
this.month = document.getElementById(this.fName+"_month").value-1;
this.date = d || this.date;
document.getElementById(this.fName+"_year").value = this.year;
document.getElementById(this.fName+"_month").selectedIndex = this.month;
document.getElementById(this.fName+"_date").value = this.date;
if (this.date>new Date(this.year,this.month+1,0).getDate()) this.date = new Date(this.year,this.month+1,0).getDate();
document.getElementById(this.fName+"_dateTable").outerHTML = this.drawDate();
}
//public
this.getDate = function(delimiter){
if (!delimiter) delimiter = "-";
var aValue = [this.year,(this.month+1),this.date];
return aValue.join(delimiter);
}
}
</script>
<table border="0">
<tr><td >
<fieldset class="c_fieldset"><legend class="c_legend">选取日期(T)</legend>
<!-- ?÷?????ú -->
<script>
var c = new calendar("c");
document.write(c);
</script>
<!-- ?÷?????ú -->
</fieldset>
</td>
<td colspan="1">
<button onclick="outAll()" style="font:8px Webdings;width:15px;height:15px;line-height:6px;">4</button>
<button onclick="outAll()" style="font:10px Arial;height:15px;height:16px;border:0px;" onfocus="this.blur()">获取日期时间</button>
</td>
</tr>
</table>
</BODY>
</HTML>
AHUA1001 2007-05-21
  • 打赏
  • 举报
回复
<HTML>
<HEAD>
<TITLE>请选择日期和时间</TITLE>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<script>
function outAll(){
// var pathStr = window.location.href;
// var fieldName = pathStr.substring(pathStr.indexOf("?field=")+7,pathStr.length);
// var obj = opener.document.getElementById(fieldName);
// obj.value = c.getDate() +' '+ m.getTime();
var tempTime=c.getDate();
// alert(dialogArguments.maxLength);
if(tempTime.substring(6,7)=="-")
{
tempTime = tempTime.substring(0,5) + "0" + tempTime.substring(5,10)
}//alert(tempTime.substring(9,10));
if(tempTime.substring(9,10)=="")
{
tempTime = tempTime.substring(0,8) + "0" + tempTime.substring(8,9)
}
dialogArguments.value=tempTime.substring(0,10);
window.close()
}
</script>
</HEAD>
<BODY>
<style type="text/css">
body {
background-color: #eeeeee;
}
.m_fieldset {
padding: 0,10,5,10; text-align: center; width: 150px;
}
.m_legend {
font-family: Tahoma; font-size: 11px; padding-bottom: 5px;
}
.m_frameborder {
border-left: 2px inset #D4D0C8; border-top: 2px inset #D4D0C8;
border-right: 2px inset #FFFFFF; border-bottom: 2px inset #FFFFFF;
width: 100px; height: 19px; background-color: #FFFFFF;
overflow: hidden; text-align: right; font-family: "Tahoma"; font-size: 10px;
}
.m_arrow {
width: 16px; height: 8px; font-family: "Webdings"; font-size: 7px;
line-height: 2px; padding-left: 2px; cursor: default;
}
.m_input {
width: 18px; height: 14px; border: 0px solid black; font-family: "Tahoma";
font-size: 9px; text-align: right; ime-mode:disabled;
}
.c_fieldset {
padding: 0,10,5,10; text-align: center; width: 180px;
}
.c_legend {
font-family: Tahoma; font-size: 11px; padding-bottom: 5px;
}
.c_frameborder {
border-left: 2px inset #D4D0C8; border-top: 2px inset #D4D0C8;
border-right: 2px inset #FFFFFF; border-bottom: 2px inset #FFFFFF;
background-color: #FFFFFF; overflow: hidden; font-family: "Tahoma";
font-size: 10px; width:160px; height:120px;
}
.c_frameborder td {
width: 23px; height: 16px; font-family: "Tahoma";
font-size: 11px; text-align: center; cursor: default;
}
.c_frameborder .selected {
background-color:#0A246A; width:12px; height:12px; color:white;
}
.c_frameborder span {
width:12px; height:12px;
}
.c_arrow {
width: 16px; height: 8px; font-family: "Webdings"; font-size: 7px;
line-height: 2px; padding-left: 2px; cursor: default;
}
.c_year {
font-family: "Tahoma"; font-size: 11px; cursor: default; width:55px; height:19px;
}
.c_month {
width:75px; height:20px; font:11px "Tahoma";
}
.c_dateHead {
background-color:#808080; color:#D4D0C8;
}
</style>
<script language="javascript">
// Written by cloudchen, 2004/03/15
mxm_1123 2007-05-21
  • 打赏
  • 举报
回复
<%@ taglib uri="http://myfaces.apache.org/tomahawk" prefix="t"%>
使用上面的标签库
你需要下载apache myfaces上的tomahawk.jar文件。里面有一个<t:inputCalendar>标签用它就可以了,当然tomahawk里面还有其它一些相关的标签,具体用法你可以自己去看看。我现在就用的是这个,感觉不错,呵呵
daniel_kaka 2007-05-21
  • 打赏
  • 举报
回复
jscalendar-1.0~
cynthia 2007-05-21
  • 打赏
  • 举报
回复
楼上的,详细一点好吗?
David017 2007-05-21
  • 打赏
  • 举报
回复
apache myfaces 里面有inputDate

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧