if(str.indexOf("0")《str.length-1){
var sti=str.substring(str.indexOf("0")+1,str.length);
return parseInt(sti);
}else{
return parseInt(str);
}
标签: MVC-V
var url = "historydetail.shtml";
var pars = "detail="+modeId;
document.getElementById('a'+divId).innerText="loading......";
var myAjax = new Ajax.Updater(('a'+divId),url, {method: 'get', parameters: pars});
标签: MVC-V
- 复制table到剪切板
window.open ('<%=request.getContextPath()%>/common/print.jsp', 'newwindow', 'width=10000,height=10000,top=0, left=0, toolbar=no, menubar=no, scrollbars=yes, resizable=no,location=no, status=no')
- 粘贴
- 打印
document.all.WebBrowser.ExecWB(6,1);
标签: MVC-V
1.1 dojo.widget.LayoutContainer
dojo的布局通过LayoutContainer组件来进行管理,而且,在LayoutContainer容器里面的组件,必须具有layoutAlign属性(这个属性决定了这些组件的位置)!
LayoutContainer组件无法决定其包含的子组件的位置,只有子组件本身才能通过layoutAlign属性来定位自身。
LayoutContainer的重要属性:
l layoutChildPriority:表示在布局容器所包含的组件的时候,其优先顺序如何,有三个取值:none/top-bottom/left-right。
n none – 表示无优先顺序,其布局取决于子组件在HTML出现的先后顺序而决定。
n top-bottom – 上下布局优先,以layoutAlign=”top”和layoutAlign=”bottom”属性的子组件为优先,即先对具有这些属性的子组件进行布局,其次再到具有”left”和”right”属性的子组件布局
n left-right – 左右布局优先,与top-bottom刚好相反。
LayoutContainer当然也可以嵌套使用,但需要注意添加layoutAlign属性(被别的LayoutContainer包含的时候,需要这个属性来定位)
1.2 dojo.widget.SplitContainer
此容器也是用于布局,但功能与LayoutContainer不同的是,SplitContainer所布局分离出来的区块,可以通过显示边界来拖动,以便动态改变每个区域的大小。
重要的属性:
l orientation - 标识分隔的方向,默认取值是:horizontal,表示是水平方向分隔,取任何其它值都表示垂直分隔(但一般明确的标识垂直分隔的值是:vertical)
l sizerWidth – 分隔线的宽度,默认取值是15
l persist – 是否为本次会话保存当前调整的分隔位置。默认值为true。即如果当前会话不结束,那么客户端所调整的位置便一直有效!
l activeSizing – 是否在调整位置的时候,内容跟着动态变化。0表示不会跟着动态变化,直到鼠标释放之后,里面的内容才开始调整;1则反之。
SplitContainer所包含的组件,可以设置下列属性:
l sizeMin – 默认值为10,本组件在SplitContainer容器中可允许的最小宽度,即拖动缩小的时候,不能小于本值。
l sizeShare – 默认值为10,这个值的意思是本组件在容器中所占的宽度,请注意,这是一个相对值。比如,父容器有两个子组件,如果这两个子组件的sizeShare均设置为1(或均设置为其它任意相等的两个数值),意味着每个组件各占据50%的宽度。注意,在SplitContainer容器中的组件,你不能通过style=”width:XXpx”这样的style代码来设置宽度,将不会起作用。
1.3 dojo.widget.TabContainer
TAB标签的容器,在这个容器下面的组件,将会被显示成Tab标签的样子。
重要的属性:
l selectedTab – 指定哪个tab是初始化的时候被选中的tab,用id或widgetId来标识
l labelPosition – TAB标签的位置,可以取值top或bottom,当取值left或right的时候,显示有点怪异!
重要的方法:
l selectTab(tab,_noRefresh) -选择某个TAB
其它说明:
TAB容器一般会包含ContentPane组件,而且需要在子组件中指定label属性。作为TAB显示的label。
TAB容器所包含的子组件,如果它被选中,那么其selected属性为true,否则为false
1.4 dojo.widget.ContentPane
用来承载页面的内容。一般它会被加入到XXXContainer容器中。
下面是部分重要属性介绍:
l href – 远程加载的内容
l preload – 是否提前加载
l refreshOnShow – 在显示的时候是否刷新内容,如果里面有javascript脚本,也会重新执行
l executeScripts – 是否在加载的时候执行其中的javascript脚本
下面是部分重要方法介绍:
l setUrl – 设置远程加载的内容,当调用这个方法后,内容便被即时覆盖了!
onLoad – url被加载的时候调用(好像不太好用)
onUnLoad -
ContentPane继承自HtmlWidget,因此也具有它的一些方法和属性:
templateCssPath/ templatePath等
还有:onShow和onHide方法,这些方法在show或hide之后被调用,你可以通过dojo的event系统,编写自己的方法,来连接到这些方法上,以便提供更多额外的处理。
或者直接将onShow这样的方法添加到标签属性中(在IE中有点问题,刷新的时候也有可能会调用到这个方法!!!!!!)
例子连接:
http://www.topxp.org/?url=html/tech/4028813c0c730092010c7306162e0006.html
标签: MVC-V
jstl错误: According to TLD or attribute directive in tag file, attribute value does not accept any expressions
0 评论 发帖者 M 时间: 4.1.07近日学习spring,照抄tutorial程序,运行时碰见如下提示:According to TLD or attribute directive in tag file, attribute items does not accept any expressions。说白了意思就是tag中不接受任何的表达式。
因为原来程序我在别的机器上也试过是没有问题的,所以觉得非常奇怪。google了一下相关内容,虽然说法比较混乱,但也算是有点帮助,顺着方向仔细比对了一下文件,发现问题所在。就我所知,这个问题的主要原因,在于servlet/jsp版本的混乱。Example程序中用的是web.xml版本是2.3,所以core taglib的URI是http://java.sun.com/jstl/core。而我偷懒用Eclipse webtools生成的web.xml缺省是2.4,那么正确的URL应该是http://java.sun.com/jsp/jstl/core。就是在2.4的web app,core taglib的声明改成<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
就可以了。
标签: MVC-V
| public class Tee { public static void main(String[] args) { try { Object obj = new Float("23.45"); // obj的真实类型是Float Double dobj = (Double) obj; // 你在将真实类型为Float类型的的Object反造型成Double类型的对象,所以会有错。如果Double为Float的父类,则这行代码就会是正确的了 } catch (ClassCastException e) { System.out.println(e); } } } 如果需要转换可以把ojb造型成Float类型,取其doubleValue,然后用这个值新建一个Double对象 Object obj = new Float("23.45"); Double dobj = new Double(((Float) obj).doubleValue()); |
http://www.qqread.com/asp/2006/05/h919112012.html
标签: MVC-V
MySQL数据库的基本操作 [ 转载 ]
一、连接MYSQL
格式: mysql -h主机地址 -u用户名 -p用户密码
1、例1:连接到本机上的MYSQL。
首先在打开DOS窗口,然后进入目录 mysqlbin,再键入命令mysql -h localhost -u root -p+回车,也可以键入命令mysql -u root -p,回车后提示你输密码,如果刚安装好MYSQL,超级用户root是没有密码的,故直接回车即可进入到MYSQL中了,MYSQL的提示符是: mysql>
2、例2:连接到远程主机上的MYSQL。假设远程主机的IP为:110.110.110.110,用户名为root,密码为abcd123。则键入以下命令:
mysql -h110.110.110.110 -uroot -pabcd123
(注:u与root可以不用加空格,其它也一样)
3、退出MYSQL命令: exit (回车)
二、修改密码
格式:mysqladmin -u用户名 -p旧密码 password 新密码
1、例1:给root加个密码ab12。首先在DOS下进入目录mysqlbin,然后键入以下命令
mysqladmin -uroot -password ab12
注:因为开始时root没有密码,所以-p旧密码一项就可以省略了。
2、例2:再将root的密码改为djg345。
mysqladmin -uroot -pab12 password djg345
三、增加新用户(注意:和上面不同,下面的因为是MYSQL环境中的命令,所以后面都带一个分号作为命令结束符)
格式:grant select on 数据库.* to 用户名@登录主机 identified by "密码"
例1、增加一个用户test1密码为abc,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。首先用以root用户连入MYSQL,然后键入以下命令:
grant select,insert,update,delete on *.* to test1@"%" Identified by "abc";
但例1增加的用户是十分危险的,你想如某个人知道test1的密码,那么他就可以在internet上的任何一台电脑上登录你的mysql数据库并对你的数据可以为所欲为了,解决办法见例2。
例2、增加一个用户test2密码为abc,让他只可以在localhost上登录,并可以对数据库mydb进行查询、插入、修改、删除的操作(localhost指本地主机,即MYSQL数据库所在的那台主机),这样用户即使用知道test2的密码,他也无法从internet上直接访问数据库,只能通过MYSQL主机上的web页来访问了。
grant select,insert,update,delete on mydb.* to test2@localhost identified by "abc";
如果你不想test2有密码,可以再打一个命令将密码消掉。
grant select,insert,update,delete on mydb.* to test2@localhost identified by "";
下面来看看MYSQL中有关数据库方面的操作。注意:必须首先登录到MYSQL中,以下操作都是在MYSQL的提示符下进行的,而且每个命令以分号结束。
四、操作技巧
1、如果你打命令时,回车后发现忘记加分号,你无须重打一遍命令,只要打个分号回车就可以了。也就是说你可以把一个完整的命令分成几行来打,完后用分号作结束标志就OK。
五、显示命令
1、显示数据库列表。
show databases;
刚开始时才两个数据库:mysql和test。mysql库很重要它里面有MYSQL的系统信息,我们改密码和新增用户,实际上就是用这个库进行操作。
2、显示库中的数据表:
use mysql; //打开库,学过FOXBASE的一定不会陌生吧
show tables;
3、显示数据表的结构:
describe 表名;
4、建库:
create database 库名;
5、建表:
use 库名;
create table 表名 (字段设定列表);
6、删库和删表:
drop database 库名;
drop table 表名;
7、将表中记录清空:
delete from 表名;
8、显示表中的记录:
select * from 表名;
六、一个建库和建表以及插入数据的实例
drop database if exists school; //如果存在SCHOOL则删除
create database school; //建立库SCHOOL
use school; //打开库SCHOOL
create table teacher //建立表TEACHER
(
id int(3) auto_increment not null primary key,
name char(10) not null,
address varchar(50) default '南阳',
year date
); //建表结束
//以下为插入字段
insert into teacher values(','xuefeng','南阳理工,'1984-05-27');
insert into teacher values(','huifan','杞县高中','1985-07-23');
注:在建表中:
1.将ID设为长度为3的数字字段:int(3)并让它每个记录自动加一:auto_increment并不能为空:not null而且让他成为主字段primary key。
2.将NAME设为长度为10的字符字段。
3.将ADDRESS设为长度50的字符字段,而且缺省值为'南阳'。
4.将YEAR设为日期字段。
如果你在mysql提示符键入上面的命令也可以,但不方便调试。你可以将以上命令原样写入一个文本文件中假设为school.sql,然后复制到c:\下,并在DOS状态进入目录\mysql\bin,然后键入以下命令:
mysql -u root -p 密码 <> maildb.sql
注释:将数据库mail_db备份到maildb.sql文件,maildb.sql是一个文本文件,文件名任取,打开看看你会有新发现。
九、恢复备份数据库
mysql -u root -p < maildb.sql
标签: MySQL
定义:
path
E:\Tomcat5\bin
CATALINA_HOME
E:\Tomcat5
在dos下直接敲catalina run启动tomcat
Sortable Table 1.11
http://webfx.eae.net/dhtml/sortabletable/sortabletable.html
在jsp中加入
《link href="../css/sortabletable.css" rel="stylesheet" type="text/css">
《script language="javascript" src="../js/sortabletable.js">《/script>
《thead>
表头
《/thead>
《tbody>
数据
《/tbody>
《script type="text/javascript">
var st = new SortableTable(document.getElementById("table_2"),
["String","String","String","Number"]);
《/script>
JSTL包含以下的标签:
常用的标签:如
条件标签:如
URL标签:如
XML标签:如
国际化输出标签:如
SQL标签:如
一般用途的标签:
1.
没有Body时的语法
有Body时的语法
这里是Body部分
名字 类型 描述
value Object 将要输出的表达式
escapeXml boolean 确定以下字符:<,>,&,',"在字符串中是否被除数,默认为true
default Object 如果vaule计算后的结果是null,那么输出这个默认值
2.
这个标签用于在某个范围(page、request、session、application等)中使用某个名字设定特定的值,或者设定某个已经存在的javabean对象的属性。他类似于<%request.setAttrbute("name","value");%>
语法1:使用value属性设定一个特定范围中的属性。
语法2:使用value属性设定一个特定范围中的属性,并带有一个Body。
Body部分
语法3:设置某个特定对象的一个属性。
语法4:设置某个特定对象的一个属性,并带有一个Body。
Body部分
名字 类型 描述
value Object 将要计算的表到式。
var String 用于表示value 值的属性,如果要在其他标签中使用,就是通过这 个var指定的值来进行的。它相当于在标签定义了一个变量,并且这个变量只能在标签中的一个。
scope String var的有效范围,可以是page|request|session|application中的一个
target String 将要设置属性的对象,它必须是javabean或则java.util.Map对象
property Object 待设定的Target对象中的属性名字,比如在javabean中有个name属性,提供了setUserId方法,那么这里填userId。
3.
4.
这个标签相当于捕获在它里边的标签抛出的异常对象
内容
条件标签
1.
语法1:无Body情况
语法2:有Body的情况
Body内容
名字 类型 描述
test Boolean 表达式的条件,相当于if()中的条件判断语句。
var String 表示这个语句的名字。
scope String var这个变量的作用范围。
2.
语法:
Body内容(
注意:它的Body只能由以下元素组成:
1) 空格
2) 0或多个
3) 0个或多个
3.
代表的是
语法:
Body语句
4.
代表的是
内容
迭代标签
1.
语法1:在Collection中迭代
Body内容
语法2:迭代固定的次数.
Body内容
名字 类型 描述
var String 迭代的参数,它是标签参数,在其他标签中通过它来引用这个标签中的内容。
Items Collection、ArrayList、 要迭代的items集合.
Iterator、Map、String、
Eunmeration等
VarStatus String 表示迭代的状态,可以访问迭代自身的信息
Begin int 表示开始迭代的位置。
End int 表示结束迭代的位置。
Step int 表示迭代移动的步长,默认为1。
URL相关的标签
1.
语法1:资源的内容使用String对象向外暴露
内容
语法2:资源的内容使用Reader对象向外暴露。
内容
名字 类型 描述
url String 待导入资源的URL,可以是相对路径和绝对路径,并且可以导入其他主机资源
context String 当使用相对路径访问外部context资源时,context指定了这个资源的名字。
var String 参数的名字。
scope String var参数的作用范围。
cahrEncoding String 输入资源的字符编码。
varReader String 这个参数的类型是Reader,用于读取资源。
2.
语法1:没有Body的情况.
语法2:有Body情况下,在Body中指定查询的参数
3.
语法1:没有Body
语法2:有Body
名字 类型 描述
value String URL值
context String 当使用相对路径访问外部context资源时,context指定了这个资源的名字
var String 标识这个URL标量。
Scope String 变量作用范围。
SQL相关的标签
1.
2.
3.
4.
5.
外联接
外联接可以是左向外联接、右向外联接或完整外部联接。在 FROM 子句中指定外联接时,可以由下列几组关键字中的一组指定:LEFT JOIN 或 LEFT OUTER JOIN。
左向外联接的结果集包括 LEFT OUTER 子句中指定的左表的所有行,而不仅仅是联接列所匹配的行。如果左表的某行在右表中没有匹配行,则在相关联的结果集行中右表的所有选择列表列均为空值。
RIGHT JOIN 或 RIGHT OUTER JOIN。
右向外联接是左向外联接的反向联接。将返回右表的所有行。如果右表的某行在左表中没有匹配行,则将为左表返回空值。
FULL JOIN 或 FULL OUTER JOIN。
完整外部联接返回左表和右表中的所有行。当某行在另一个表中没有匹配行时,则另一个表的选择列表列包含空值。如果表之间有匹配行,则整个结果集行包含基表的数据值。
仅当至少有一个同属于两表的行符合联接条件时,内联接才返回行。内联接消除与另一个表中的任何行不匹配的行。而外联接会返回 FROM 子句中提到的至少一个表或视图的所有行,只要这些行符合任何 WHERE 或 HAVING 搜索条件。将检索通过左向外联接引用的左表的所有行,以及通过右向外联接引用的右表的所有行。完整外部联接中两个表的所有行都将返回。
Microsoft® SQL Server™ 2000 对在 FROM 子句中指定的外联接使用以下 SQL-92 关键字:
LEFT OUTER JOIN 或 LEFT JOIN
RIGHT OUTER JOIN 或 RIGHT JOIN
FULL OUTER JOIN 或 FULL JOIN
SQL Server 支持 SQL-92 外联接语法,以及在 WHERE 子句中使用 *= 和 =* 运算符指定外联接的旧式语法。由于 SQL-92 语法不容易产生歧义,而旧式 Transact-SQL 外联接有时会产生歧义,因此建议使用 SQL-92 语法。
使用左向外联接
假设在 city 列上联接 authors 表和 publishers 表。结果只显示在出版商所在城市居住的作者(本例中为 Abraham Bennet 和 Cheryl Carson)。
若要在结果中包括所有的作者,而不管出版商是否住在同一个城市,请使用 SQL-92 左向外联接。下面是 Transact-SQL 左向外联接的查询和结果:
USE pubs
SELECT a.au_fname, a.au_lname, p.pub_name
FROM authors a LEFT OUTER JOIN publishers p
ON a.city = p.city
ORDER BY p.pub_name ASC, a.au_lname ASC, a.au_fname ASC
下面是结果集:
au_fname au_lname pub_name |
不管是否与 publishers 表中的 city 列匹配,LEFT OUTER JOIN 均会在结果中包含 authors 表的所有行。注意:结果中所列的大多数作者都没有相匹配的数据,因此,这些行的 pub_name 列包含空值。
使用右向外联接
假设在 city 列上联接 authors 表和 publishers 表。结果只显示在出版商所在城市居住的作者(本例中为 Abraham Bennet 和 Cheryl Carson)。SQL-92 右向外联接运算符 RIGHT OUTER JOIN 指明:不管第一个表中是否有匹配的数据,结果将包含第二个表中的所有行。
若要在结果中包括所有的出版商,而不管城市中是否还有出版商居住,请使用 SQL-92 右向外联接。下面是 Transact-SQL 右向外联接的查询和结果:
USE pubs |
下面是结果集:
au_fname au_lname pub_name |
使用谓词(如将联接与常量比较)可以进一步限制外联接。下例包含相同的右向外联接,但消除销售量低于 50 本的书籍的书名:
USE pubs
SELECT s.stor_id, s.qty, t.title
FROM sales s RIGHT OUTER JOIN titles t
ON s.title_id = t.title_id
AND s.qty > 50
ORDER BY s.stor_id ASC
下面是结果集:
stor_id qty title |
有关谓词的更多信息,请参见 WHERE。
使用完整外部联接
若要通过在联接结果中包括不匹配的行保留不匹配信息,请使用完整外部联接。Microsoft® SQL Server™ 2000 提供完整外部联接运算符 FULL OUTER JOIN,不管另一个表是否有匹配的值,此运算符都包括两个表中的所有行。
假设在 city 列上联接 authors 表和 publishers 表。结果只显示在出版商所在城市居住的作者(本例中为 Abraham Bennet 和 Cheryl Carson)。SQL-92 FULL OUTER JOIN 运算符指明:不管表中是否有匹配的数据,结果将包括两个表中的所有行。
若要在结果中包括所有作者和出版商,而不管城市中是否有出版商或者出版商是否住在同一个城市,请使用完整外部联接。下面是 Transact-SQL 完整外部联接的查询和结果:
USE pubs |
下面是结果集:
|
public class HelloWorld //类
{
private String helloMsg = "Hello World!";
public static void main(String[] args)
{
HelloWorld hw = new HelloWorld();//hw就是一个对象
}
public HelloWorld() //方法
{
System.out.println(helloMsg);
}
}
Windows下JAVA环境变量的设置祥解
Windows下JAVA用到的环境变量主要有3个,JAVA_HOME、CLASSPATH、PATH。下面逐个分析。
JAVA_HOME指向的是JDK的安装路径,如x:\JDK_1.4.2,在这路径下你应该能够找到bin、lib等目录。值得一提的是,JDK 的安装路径可以选择任意磁盘目录,不过建议你放的目录层次浅一点,如果你放的目录很深,比如x:\XXXXXX\xxxxx\XXXX\xxxx\ XXXX\xxxx\XXXX\xxx……
那么,下面的步骤和以后的应用你都要受累了,呵呵。设置方法:
JAVA_HOME=x:\JDK_1.4.2
PATH环境变量原来Windows里面就有,你只需修改一下,使他指向JDK的bin目录,这样你在控制台下面编译、执行程序时就不需要再键入一大串路径了。设置方法是保留原来的PATH的内容,并在其中加上%JAVA_HOME%\bin (注,如果你对DOS批处理不了解,你可能不明白%%引起来的内容是什么意思;其实这里是引用上一步设定好的环境变量JAVA_HOME,你写成x:\ JDK_1.4.2也是可以的;你可以打开一个控制台窗口,输入echo %JAVA_HOME%来看一下你的设置结果) :
PATH=%JAVA_HOME%\bin;%PATH%
同样,%PATH%是引用以前你设置的PATH环境变量,你照抄以前的值就行了。
CLASSPATH环境变量我放在最后面,是因为以后你出现的莫名其妙的怪问题80%以上都可能是由于CLASSPATH设置不对引起的,所以要加倍小心才行。
CLASSPATH=.\;%JAVA_HOME%\lib\tools.jar
首先要注意的是最前面的".\;",如果你看不清,我给你念念——句点反斜杠分号。这个是告诉JDK,搜索CLASS时先查找当前目录的CLASS文件—— 为什么这样搞,这是由于LINUX的安全机制引起的,LINUX用户很明白,WINDOWS用户就很难理解(因为WINDOWS默认的搜索顺序是先搜索当前目录的,再搜索系统目录的,再搜索PATH环境变量设定的) ,所以如果喜欢盘根究底的朋�