- 浏览: 61889 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (37)
- OFBiz (8)
- Linux (14)
- Java Web (0)
- Ajax (1)
- eWebEditor (1)
- CKEditor (1)
- 项目心得 (1)
- css (1)
- html (1)
- js (3)
- VNC (1)
- webservice (1)
- java (3)
- axis (1)
- oracle (3)
- 杂谈 (2)
- weblogic (1)
- redis (1)
- FastDFS (1)
- log4j2 (1)
- php (1)
- mysql (1)
- Docker (1)
- Hyperledger (3)
- Fabric (3)
- PostgreSQL (1)
- NodeJS (1)
最新评论
-
rshw123456:
配置了没用,不打印sql的参数
项目logback日志组件更换为log4j2日志组件步骤及注意事项 -
超声波:
alan3258 写道感谢作者的分享精神,学习了嗯,希望能够帮 ...
解决OFBiz中利用JQuery自动补全下拉框无法正常显示的问题 -
alan3258:
感谢作者的分享精神,学习了
解决OFBiz中利用JQuery自动补全下拉框无法正常显示的问题
收藏列表
- 全部 [19]
- hibernate [1]
- freemarker [1]
- webwork [1]
- eclipse [1]
- linux [2]
- struts [1]
- java [1]
- mysql [1]
- mvc [1]
- js [3]
- html [3]
- css [1]
- jdk [2]
- select [1]
- radio [1]
- maven [3]
- search [1]
- ofbiz [3]
- nginx [1]
- checkbox [1]
- 防火墙 [1]
- iptables [1]
- ftl [1]
- springboot [2]
标题 | 标签 | 来源 | |
springboot log4j2配置 | springboot, maven | http://blog.csdn.net/baodinglaolang/article/details/51323651 | |
1、修改pom文件 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <exclusions> <!-- 发布时去除内置tomcat --> <exclusion> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> </exclusion> <exclusion> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-logging</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-log4j2</artifactId> </dependency> 2、加入log4j2.xml 在src/main/resources中加入配置文件,详细配置不在赘述 3、修改application.properties logging.config=classpath:log4j2.xml 大功告成! |
|||
nginx转发示例配置文件 | nginx | ||
user root; worker_processes 1; #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #pid logs/nginx.pid; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream,text/html; log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; # default_type 'text/html'; charset utf-8,gbk; access_log logs/access.log main; sendfile on; #tcp_nopush on; #keepalive_timeout 0; keepalive_timeout 65; gzip on; gzip_http_version 1.0; gzip_min_length 1k; gzip_comp_level 9; gzip_disable "MSIE [1-6]."; gzip_types text/plain application/x-javascript text/css text/javascript application/javascript; upstream weblogic{ server 127.0.0.1:9081; } server { listen 80; server_name localhost; # charset koi8-r; access_log logs/host.access.log main; root html; index index.html index.htm; # location / { # root html; # index index.html index.htm; # } location /myt/pay/{ proxy_pass http://weblogic; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504; client_max_body_size 10m; client_body_buffer_size 128k; proxy_connect_timeout 90; proxy_send_timeout 90; proxy_read_timeout 90; proxy_buffer_size 4k; proxy_buffers 4 32k; proxy_busy_buffers_size 64k; proxy_temp_file_write_size 64k; charset utf-8; } location /myt/wx/{ proxy_pass http://weblogic; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504; client_max_body_size 10m; client_body_buffer_size 128k; proxy_connect_timeout 90; proxy_send_timeout 90; proxy_read_timeout 90; proxy_buffer_size 4k; proxy_buffers 4 32k; proxy_busy_buffers_size 64k; proxy_temp_file_write_size 64k; charset utf-8; } location /myt/libs/ { root html; index index.html index.htm; } location /myt/css/ { root html; index index.html index.htm; } location /myt/images/ { root html; index index.html index.htm; } location /myt/nuui/ { root html; index index.html index.htm; } location /myt/component/ { proxy_pass http://weblogic; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504; client_max_body_size 10m; client_body_buffer_size 128k; proxy_connect_timeout 90; proxy_send_timeout 90; proxy_read_timeout 90; proxy_buffer_size 4k; proxy_buffers 4 32k; proxy_busy_buffers_size 64k; proxy_temp_file_write_size 64k; charset utf-8; } location /myt/module/ { proxy_pass http://weblogic; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504; client_max_body_size 10m; client_body_buffer_size 128k; proxy_connect_timeout 90; proxy_send_timeout 90; proxy_read_timeout 90; proxy_buffer_size 4k; proxy_buffers 4 32k; proxy_busy_buffers_size 64k; proxy_temp_file_write_size 64k; charset utf-8; } location /myt/weixin/ { proxy_pass http://weblogic; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504; client_max_body_size 10m; client_body_buffer_size 128k; proxy_connect_timeout 90; proxy_send_timeout 90; proxy_read_timeout 90; proxy_buffer_size 4k; proxy_buffers 4 32k; proxy_busy_buffers_size 64k; proxy_temp_file_write_size 64k; charset utf-8; } location /myt/app/ { proxy_pass http://weblogic; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504; client_max_body_size 10m; client_body_buffer_size 128k; proxy_connect_timeout 90; proxy_send_timeout 90; proxy_read_timeout 90; proxy_buffer_size 4k; proxy_buffers 4 32k; proxy_busy_buffers_size 64k; proxy_temp_file_write_size 64k; charset utf-8; } location /myt/main.html { proxy_pass http://weblogic; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504; client_max_body_size 10m; client_body_buffer_size 128k; proxy_connect_timeout 90; proxy_send_timeout 90; proxy_read_timeout 90; proxy_buffer_size 4k; proxy_buffers 4 32k; proxy_busy_buffers_size 64k; proxy_temp_file_write_size 64k; charset utf-8; } location /myt/service/ { proxy_pass http://weblogic; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504; client_max_body_size 10m; client_body_buffer_size 128k; proxy_connect_timeout 90; proxy_send_timeout 90; proxy_read_timeout 90; proxy_buffer_size 4k; proxy_buffers 4 32k; proxy_busy_buffers_size 64k; proxy_temp_file_write_size 64k; charset utf-8; } location /billing-admin { proxy_pass http://127.0.0.1:9080; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; client_max_body_size 10m; client_body_buffer_size 128k; proxy_connect_timeout 90; proxy_send_timeout 90; proxy_read_timeout 90; proxy_buffer_size 4k; proxy_buffers 4 32k; proxy_busy_buffers_size 64k; proxy_temp_file_write_size 64k; charset utf-8; } location /group1 { proxy_pass http://117.79.146.146:7070; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; client_max_body_size 10m; client_body_buffer_size 128k; proxy_connect_timeout 90; proxy_send_timeout 90; proxy_read_timeout 90; proxy_buffer_size 4k; proxy_buffers 4 32k; proxy_busy_buffers_size 64k; proxy_temp_file_write_size 64k; } #error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } # proxy the PHP scripts to Apache listening on 127.0.0.1:80 # #location ~ \.php$ { # proxy_pass http://127.0.0.1; #} # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 # #location ~ \.php$ { # root html; # fastcgi_pass 127.0.0.1:9000; # fastcgi_index index.php; # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; # include fastcgi_params; #} # deny access to .htaccess files, if Apache's document root # concurs with nginx's one # #location ~ /\.ht { # deny all; #} } # another virtual host using mix of IP-, name-, and port-based configuration # #server { # listen 8000; # listen somename:8080; # server_name somename alias another.alias; # location / { # root html; # index index.html index.htm; # } #} # HTTPS server # #server { # listen 443 ssl; # server_name localhost; # ssl_certificate cert.pem; # ssl_certificate_key cert.key; # ssl_session_cache shared:SSL:1m; # ssl_session_timeout 5m; # ssl_ciphers HIGH:!aNULL:!MD5; # ssl_prefer_server_ciphers on; # location / { # root html; # index index.html index.htm; # } #} } |
|||
SpringBoot MVC在Maven架构下的pom.xml配置文件 | springboot, mvc, maven | 注意:这里必须要用jdk7进行编译,否则会报错 | |
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.example</groupId> <artifactId>myproject</artifactId> <version>0.0.1-SNAPSHOT</version> <properties><java.version>1.7</java.version></properties> <!-- Inherit defaults from Spring Boot --> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.4.0.BUILD-SNAPSHOT</version> </parent> <!-- Add typical dependencies for a web application --> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> </dependencies> <!-- Package as an executable jar --> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> <!-- Add Spring repositories --> <!-- (you don't need this if you are using a .RELEASE version) --> <repositories> <repository> <id>spring-snapshots</id> <url>http://repo.spring.io/snapshot</url> <snapshots><enabled>true</enabled></snapshots> </repository> <repository> <id>spring-milestones</id> <url>http://repo.spring.io/milestone</url> </repository> </repositories> <pluginRepositories> <pluginRepository> <id>spring-snapshots</id> <url>http://repo.spring.io/snapshot</url> </pluginRepository> <pluginRepository> <id>spring-milestones</id> <url>http://repo.spring.io/milestone</url> </pluginRepository> </pluginRepositories> </project> |
|||
eclipse配置jdk运行环境内存大小防止内存溢出 | eclipse, jdk | ||
-Xms1024m -Xmx2048m -XX:PermSize=512M -XX:MaxPermSize=1024M |
|||
linux命令行执行java文件的编译和运行 | linux, java | ||
javac -Xlint -classpath .:/usr/lib64/opencv-249.jar org/ofbiz/ofc/svmcore/test.java java -classpath .:/usr/lib64/opencv-249.jar org/ofbiz/ofc/svmcore/test |
|||
Linux服务器防火墙IpTables规则配置 | linux, iptables, 防火墙 | ||
找到防火墙iptables规则配置文件 /etc/sysconfig/iptables #远程SSH登陆,我们要开启22端口 iptables -A INPUT -p tcp –dport 22 -j ACCEPT #WEB服务器,开启80端口 iptables -A INPUT -p tcp –dport 80 -j ACCEPT #邮件服务器,开启25,110端口. iptables -A INPUT -p tcp –dport 110 -j ACCEPT iptables -A INPUT -p tcp –dport 25 -j ACCEPT #FTP服务器,开启20,21端口 iptables -A INPUT -p tcp -m multiport –dport 21,60000:60050 -j ACCEPT #如果做了DNS服务器,开启53端口 iptables -A INPUT -i lo -j ACCEPT iptables -A INPUT -p udp –sport 53 -j ACCEPT iptables -A INPUT -p udp –dport 53 -j ACCEPT 重启防火墙配置生效 service iptables restart |
|||
多个jdk版本在命令行模式下的切换 | jdk | ||
前提是如果window下配置了如下两个jdk,默认使用JDK7,环境变量配置如下: JAVA_6_HOME=C:\Program Files\Java\jdk1.6.0_45 JAVA_7_HOME=D:\Program Files\Java\jdk1.7.0_07 JAVA_HOME=%JAVA_7_HOME% cmd命令行模式下切换jdk版本环境的方法 java -version javac -version set JAVA_HOME set JAVA_HOME=%JAVA_6_HOME% echo %JAVA_HOME% java -version javac -version echo %Path% set Path=%JAVA_6_HOME%\bin;%Path% echo %Path% java -version javac -version |
|||
maven在dos命令行模式下打包项目 | maven | ||
mvn install -Dmaven.test.skip=true 给任何目标添加maven.test.skip 属性就能跳过测试 (前提是必须先将目录在命令行模式下切换到项目所在根目录) |
|||
mysql命令行模式下导入sql文件 | mysql | ||
D:\Program Files (x86)\MySQL\MySQL Server 5.1\bin>mysql -uroot -proot taskmanager <C:\Users\qiangjiyi\Downloads\backs.sql |
|||
下拉列表框中动态显示页码且当选择某个页码时跳转到某个页面 | select, html, js | ||
<script type="text/javascript"> function _go(select){ var index = select.selectedIndex; // 选中的option的下标 var option = select.options[index]; // 通过下标得到option元素的对象 var value = option.value; // 通过option元素对象得到value的值 loaction = "<c:url value='/CustomerServlet?method=query&currPage='/>" + value; } </script> <select onchange="_go(this)"> <c:forEach begin="1" end="${pageBean.totalPage}" var="i"> <option value="${i}" <c:if test="${pageBean.currPage eq i}">selected="selected"</c:if>> ${i} </option> </c:forEach> </select> |
|||
jsp页面上复选框组的显示与回显 | checkbox, js, html | ||
<script type="text/javascript"> $(document).ready(function(){ var boxObj = $(":checkbox[name=transportMethodOfFirewood]"); //获取所有的复选框 var transportMethod = '${village.transportMethodOfFirewood}'; //用el表达式获取在控制层存放的复选框的值为字符串类型 var method = transportMethod.split(','); //去掉它们之间的分割符“,” var index = 0; for(i=0;i<boxObj.length;i++){ for(j=0;j<method.length;j++){ if(boxObj[i].value == $.trim(method[j])) //如果值与修改前的值相等 { boxObj[i].checked= true; } } } }); </script> <input type="checkbox" name="transportMethodOfFirewood" value="1" id="one"/><label for="one">拖拉机</label> <input type="checkbox" name="transportMethodOfFirewood" value="2" id="two"/><label for="two">机动三轮车</label> <input type="checkbox" name="transportMethodOfFirewood" value="3" id="three"/><label for="three">脚蹬三轮车</label> <input type="checkbox" name="transportMethodOfFirewood" value="4" id="four"/><label for="four">地排车</label> <input type="checkbox" name="transportMethodOfFirewood" value="5" id="five"/><label for="five">其他</label> |
|||
jsp页面上单选按钮组的显示与回显 | radio, struts, webwork | ||
<ww:radio name="sex" value="${user.sex}" list="#{1:'男', 0:'女'}" /> |
|||
freemarker本地java调用的简单示例 | freemarker, ftl | ||
public static void main(String[] args) throws IOException, TemplateException { // 创建一个freemarker的配置对象 Configuration conf = new Configuration(); // 设置模板加载的路径 conf.setDirectoryForTemplateLoading(new File("E:\\ofbiz_project\\TestFreemarker\\template")); // 设置配置对象的对象包装类 conf.setObjectWrapper(new DefaultObjectWrapper()); // 根据配置对象取得freemarker模板 Template temp = conf.getTemplate("test.ftl"); // 创建map对象并为其添加键值对 Map<String, Object> root = new HashMap<String, Object>(); root.put("mylove", "贾凯幸"); Writer out = new OutputStreamWriter(System.out); // 将map对象传入到模板中并通过输出流输出 temp.process(root, out); out.flush(); } |
|||
将ofbiz的开发环境JDK版本更换为1.7时需要修改的配置文件 | ofbiz | ||
<!--找到以下目录对应的xml文件,然后查找16,修改成17,在build.xml中clean-all,最后load-demo即可--> %ofbiz_home%\common.xml %ofbiz_home%\macros.xml %ofbiz_home%\framework\start\build.xml %ofbiz_home%\framework\base\build.xml %ofbiz_home%\framework\sql\build.xml %ofbiz_home%\framework\bi\build.xml %ofbiz_home%\applications\order\build.xml |
|||
基于ofbiz的一些基本常用代码 | ofbiz | ||
<!--controller.xml文件中引入公共的控制器信息--> <include location="component://common/webcommon/WEB-INF/common-controller.xml"/> <!--PracticeForms.xml文件中的form表单--> <form name="ListPersons" type="list" list-name="persons" list-entry-name="person" target="updatePracticePerson" paginate="personForm"> <auto-field-service service-name="updatePracticePerson" default-field-type="edit" map-name="person"/> <field name="partyId"><hidden/></field> <field name="submitButton" title="Update" widget-style="smallSubmit"><submit button-type="button"/></field> <field name="deletePracticePerson" title="Delete Person" widget-style="buttontext"> <hyperlink target="deletePracticePerson?partyId=${person.partyId}" description="Delete" /> </field> </form> <!--CommonScreens.xml文件中的screen-widget--> <screen name="main-decorator"> <section> <actions> <property-map resource="CommonUiLabels" map-name="uiLabelMap" global="true"/> <property-map resource="PracticeUiLabels" map-name="uiLabelMap" global="true"/> <set field="layoutSettins.companyName" from-field="uiLabelMap.PracticeCompanyName" global="true"/> <set field="acticeApp" value="practice" global="true"/> <set field="applicationMenuName" value="PracticeAppBar" global="true"/> <set field="applicationMenuLocation" value="component://practice/widget/PracticeMenus.xml" global="true'/> </actions> <widgets> <include-screen name="GlobalDecorator" location="component://common/widget/CommonScreens.xml"/> </widgets> </section> </screen> <screen name="CommonDecorator"> <section> <widgets> <include-menu name="PracticeMenu" location="component://practice/widget/PracticeMenus.xml"/> <include-screen name="main-decorator" location="${parameters.mainDecoratorLocation}"/> <decorator-section-include name="body"/> </widgets> </section> </screen> <!--PracticeUiLabels.xml中ui国际化配置信息--> <property key="PracticeApplication"> <value xml:lang="en">This is first practice</value> </property> <property key="PracticeCompanyName"> <value xml:lang="en">OFBIZ: Practice</value> </property> <!--PracticeMenus.xml中添加一个菜单和两个菜单项--> <menu name="EventMenu" default-menu-item-name="eventMinilang" default-selected-style="selected" type="simple" menu-container-style="button-bar button-style-1" selected-menuitem-context-field-name="headerItem"> <menu-item name="eventMinilang" title="Create Person --- Event Minilang"> <link target="createPracticePersonEventM"/> </menu-item> <menu-item name="eventJava" title="Create Person --- Event Java"> <link target="createPracticePersonEventJ"/> </menu-item> </menu> |
|||
基于ofbiz在页面中显示一张数据库表 | ofbiz | ||
<!-- 关键代码1:在widget的screen中,action部分用<entity-condition 标签指定实体名和实体列表名; 关键代码2:在widget的screen中,widgets部分用<include-form 标签指定被引用表单的位置和表单名; --> <screen name="guestbook"> <section> <actions> <!-- find HelloPerson by condition. since there is no conditions, all values of HelloPerson are returned in allGuests --> <entity-condition entity-name="HelloPerson" list-name="allGuests"><order-by field-name="helloPersonId"/></entity-condition> <!--窗口中调用的表单用到的实体数据在该处指出!!如果该句设置得不对表单中将不显示数据!!!--> </actions> <widgets> <decorator-screen name="CommonDecorator"> <decorator-section name="body"> <label>我们的客人和他们说的话</label> <!-- a label/header --> <!-- use this form directly, instead of going through a Freemarker template again --> <include-form name="GuestbookList" location="component://hello3/webapp/hello3/guestbook/GuestbookForms.xml"/> </decorator-section> </decorator-screen> </widgets> </section> </screen> <!-- 关键代码3:在表单文件内的对应(上面的<include-form 标签指出的表单名)的表单代码处,<form 标签的type要设成list,list-name要和widget中窗口中的action部分的列表名一致。 --> <form name="GuestbookList" type="list" list-name="allGuests"> <!-- 该处的列表名和widget的窗口action中指定的列表名要对应!this form just lists all the values of allGuests --> <auto-fields-entity entity-name="HelloPerson" default-field-type="display"/> <!-- 自动显示指定实体的所有域automatically display all fields from HelloPerson --> </form> <!-- 总体思路就是:form根据实体定义创建表头,action里的entity condition根据条件从数据库中取出数据显示于表中,这就完成了在页面上显示数据库表的过程。 --> |
|||
搜索框样式代码 | html, css, search | ||
<style type="text/css"> input[type=text],input[type=password] { font-size: 13px; min-height: 32px; margin: 0; padding: 7px 8px; outline: none; color: #333; background-color: #fff; background-repeat: no-repeat; background-position: right center; border: 1px solid #ccc; border-radius: 3px; box-shadow: inset 0 1px 2px rgba(0,0,0,0.075); -moz-box-sizing: border-box; box-sizing: border-box; transition: all 0.15s ease-in; -webkit-transition: all 0.15s ease-in 0; vertical-align: middle; } .button { position: relative; display: inline-block; margin: 0; padding: 8px 15px; font-size: 13px; font-weight: bold; color: #333; text-shadow: 0 1px 0 rgba(255,255,255,0.9); white-space: nowrap; background-color: #eaeaea; background-image: -moz-linear-gradient(#fafafa, #eaeaea); background-image: -webkit-linear-gradient(#fafafa, #eaeaea); background-image: linear-gradient(#fafafa, #eaeaea); background-repeat: repeat-x; border-radius: 3px; border: 1px solid #ddd; border-bottom-color: #c5c5c5; box-shadow: 0 1px 3px rgba(0,0,0,.05); vertical-align: middle; cursor: pointer; -moz-box-sizing: border-box; box-sizing: border-box; -webkit-touch-callout: none; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; -webkit-appearance: none; } .button:hover, .button:active { background-position: 0 -15px; border-color: #ccc #ccc #b5b5b5; } .button:active { background-color: #dadada; border-color: #b5b5b5; background-image: none; box-shadow: inset 0 3px 5px rgba(0,0,0,.15); } .button:focus, input[type=text]:focus, input[type=password]:focus { outline: none; border-color: #51a7e8; box-shadow: inset 0 1px 2px rgba(0,0,0,.075), 0 0 5px rgba(81,167,232,.5); } label[for=search] { display: block; text-align: left; } #search label { font-weight: 200; padding: 5px 0; } #search input[type=text] { font-size: 18px; width: 705px; } #search .button { padding: 10px; width: 90px; } </style> <form name="search" action="../message/question_search.action" method="post" style="width:1000px; margin:auto;font-size:12px;"> <div style="border:1px solid #CDCDCD;height:53px; padding-left:3px;background-color:#F2F2F2;"> <div style="padding-top:7px; text-align:left" id="search"> <input type="text" name="keyword" value="${keyword }"/> <input class="button" type="submit" value="搜索"> </div> </div> </form> |
|||
Hibernate多表关联实体映射文件的配置 | hibernate | ||
<?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping package="cn.itcast.oa.domain"> <class name="Privilege" table="itcast_privilege"> <id name="id"> <generator class="native"/> </id> <property name="url"/> <property name="name"/> <property name="icon"/> <!-- roles属性,本类与Role的多对多 --> <set name="roles" table="itcast_role_privilege"> <key column="privilegeId"></key> <many-to-many class="Role" column="roleId"></many-to-many> </set> <!-- parent属性,本类与Privilege(上级)的多对一 --> <many-to-one name="parent" class="Privilege" column="parentId"></many-to-one> <!-- children属性,本类与Privilege(下级)的一对多 --> <set name="children" order-by="id" lazy="false"> <key column="parentId"></key> <one-to-many class="Privilege"/> </set> </class> </hibernate-mapping> /************************************************************************************/ <?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping package="cn.itcast.oa.domain"> <class name="Role" table="itcast_role"> <id name="id"> <generator class="native"/> </id> <property name="name"/> <property name="description"/> <!-- users属性,本类与User的多对多 --> <set name="users" table="itcast_user_role"> <key column="roleId"></key> <many-to-many class="User" column="userId"></many-to-many> </set> <!-- privileges属性,本类与Privilege的多对多 --> <set name="privileges" table="itcast_role_privilege" lazy="false"> <key column="roleId"></key> <many-to-many class="Privilege" column="privilegeId"></many-to-many> </set> </class> </hibernate-mapping> |
|||
鼠标移动到表格的行时,改变其背景色 | js | 鼠标移动到表格的行时,改变其背景色 | |
<table border="1"> <tr onmouseover="this.style.backgroundColor='#dddddd'" onmouseout="this.style.backgroundColor='#ffffff'"> <td>当鼠标移动到我所在的行时,我的背景色会改变</td> </tr> </table> |