专注于前后端服务器交互,人工智能,NLP领域
OGNL表达式struts2标签“%,#,$” 一、什么是OGNL,有什么特点? OGNL(Object-Graph Navigation Language),大概可以理解为:对象图形化导航语言。是一种可以方便地操作对象属性的开源表达式语言。OGNL有如下特点: 1、支持对象方法调用,形式如:objName.methodName();
文件下载是一个很常见的功能,用struts2实现文件下载的步骤: 一)定义一个Action类,FileDownload.java [java] view plaincopy package com.struts2.filedownload; import java.io.InputStream;
struts.multipart.maxSize=10240000:用于限制上传文件的大小struts.multipart.allowedTypes=.xls,.zip:用于限制上传文件类型struts.multipart.parser=pell:解决上传空文件的报错问题 struts.multipart.saveDir:该属性指定上传文件的临时保存路径,该属性的默认值是javax.se
<li>访问值栈中的action的普通属性: username = <s:property value="username"/> </li><li>访问值栈中对象的普通属性(get set方法):<s:property value="user.age"/> | <s:property value="user['age']"/
(一)Map(在web.xml中必须使用2.1以上的配置) public class LoginAction1 extends ActionSupport {private Map request;private Map session;private Map application;public LoginAction1() {request = (Map)ActionContext.
这是因为,项目名和真正的部署的名字不同 点击项目,右键选择properties,在左上方搜索栏输入web,点击,在右面的context root菜单下,修改 web context-root为新项目名即可
第一种 第二种
struts.xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtd
1、资源文件只能放在WebContent下面,如 CSS,JS,image等.放在WEB-INF下引用不了. 2、页面放在WEB-INF目录下面,这样可以限制访问,提高安全性.如JSP,html 3、只能用转向方式来访问WEB-INF目录下的JSP,不用采用重定向的方式请求该目录里面的任何资源.如图:index.jsp>> main.jsp 4
Struts2中的OGNL表达式语言是对Xwork的OGNL的封装。我们要理解一下几点: 1. Struts2中将ActionContext作为OGNL的上下文环境(ActionContext内部含有一个Map对象) 2. Struts2中的OGNL表达式语言的根对象是一个ValueStack,ValueStack中的每一个对象都被视为根对象,根对象访问不用加#。
分类:【字段校验】 ---- field-validator ---- 字段优先,我去校验谁(字段),我用谁(校验器)来校验【非字段校验】 ---- validator ---- 校验器优先,我用谁(校验器)来校验,我去校验谁(字段)****** 这两种只是 表现形式 不同,底层是相同的,都是把错误信息放到fielderror中命名:需要校验的Action名 + -validation.
有两点必须注意的 (1)struts.xml里的value值必须和语言配置文件的前缀一样 (2)改变语言的方法
absolute绝对定位的div放在td中,他的定位是相对于table的左上角。 relative相对定位的div放在td总共,他的定位是相对于本td的的左上角。 当把td设置成相对或者绝对定位,所有定位都正常了,也就是说在内层使用定位,外层必须也要使用定位。 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional
与其他一些display属性类似,table-cell同样会被其他一些CSS属性破坏,例如float, position:absolute,所以,在使用display:table-cell与float:left或是position:absolute属性尽量不用同用。设置了display:table-cell的元素对宽度高度敏感,对margin值无反应,响应padding属性,基本上就是活脱
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> &l
jquery中可以用js操作 jQuery对象转成DOM对象: 两种转换方式将一个jQuery对象转换成DOM对象:[index]和.get(index); (1)jQuery对象是一个数据对象,可以通过[index]的方法,来得到相应的DOM对象。 如:var $v =$("#v") ; //jQuery对象 var v=$v[0]; //DOM对象
一.配置 JSTL 包括两个 JAR文件, jstl.jar 和standard.jar 。 JSP页面最上面引入: <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <%@taglib prefix="sql" uri="http://java.sun.com/jsp/jstl
1. 配置tomcat下的conf下的context.xml文件,在<Context> </Context>之间添加连接池配置: <Context> <Resource name="jdbc/lhy" <--对应web.xml <res-ref-name> -->
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class MyEclipseKeyGen { private static final String LL = "Decompiling this c
servlet static变量是全局变量, 所有连接到服务器的用户共享一个变量,如 初始化时 static int num=1; 用户登录一次 num++; 张三 登录后 num++,此时num=2; 李四登录时 num=2; 非静态变量 在 一个会话中 线程不安全 。 servlet 在整个 生命周期 ,也就是打开服务器的时候,不管有多少用户请求,只在启动服务器时初始化一次,
点击MyEclipse的preference,再点Myeclipse选项,进入Server 选择Tomcat6, 展开选项卡,点 Launch 将debug模式转变为run 模式
要使用绝对路径
在 tomcat 的 server.xml 中设置 <Context docBase="e:/pic" path="/abc/pic" /> 这样的话,就可以使用 http://localhost:8080/abc/pic 这个前缀访问 e:/pic 中的图片了。
第一步 第二步 选择 file->new->里面的选项
最新版本UEditor 1.4+以上, 一. 在1.4以上开发版,并解压,新建一个web工程如MyEditor,并在工程的 WebRoot下,建立ueditor(随便起名字)文件用于存放解压后的文件。 二. 把解压出的文件复制到ueditor文件夹后,修改ueditor.config.js 里的serverUrl 参数,服务器请求统一路径(不同语言不一样;js
(java gui) 和 (网页 js) 通过url传值时,如果不涉及特殊字符可以不进行编码, 但是如果有特殊字符,比如中文,及符号 就要进行编码。 java 使用 java.net.URLEncoder.encode(str, "UTF-8");编码, java 使用java.net.URLDecoder.decode(str,"UTF-8");解码, js 使用decodeU
Connection con =null;try { // Class.forName("oracle.jdbc.driver.OracleDriver");//注册驱动第一种方式***************Driver drv = new oracle.jdbc.driver.OracleDriver();//注册驱动第二种方式 *******************88Driv
--创建用户 create user lhy1 identified by passwd123 --表空间 default tablespace users --临时表空间 temporary tablespace temp; --给用户权限 grant create session to lhy1; grant resource,connect to l
import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; public class oracleTest {public static Connection testOracle(){Connec
首先 只有String才与编码有关; byte与其他类型转换时,要注意大端点还是小端点, 编码: Ascii Unicode gbk utf-8等等 byte 占 8位 可由两个16进制数(0xff)组成,一个16进制占4位,也可由8位二进制数组成等等,与编码没关系,但可用2进制表示,也可由其他进制表示。 “0xff”这样的16进制字符串转换成16进制byte Stri
p:before是在p标签里面的前部分,after是在p标签里面的后部分 <!DOCTYPE html> <html> <head> <style> p:before {content:"前面:";background-color: #FF0000; } p:after {content:"后面:";background
<!DOCTYPE html> <head><title>chart demo</title> <style> #chartContainer{ border:solid 1px #999;
import lhy.client.json.JSONArray; import lhy.client.json.JSONException; import lhy.client.json.JSONObject; public class MyJson {public static void main(String[] args) throws JSONException {JSON
object 为html4 和html5共有的,embed,video 为html5新加的标签, object和embed支持几乎所有的格式视频,但object只有IE浏览器支持,其他浏览器大都支持embed 所以把embed嵌入object实现多浏览器兼容。 video只支持三种格式的视频。ogg,mpeg4,,, 所以大多数视频播放都采用object内嵌embed
上传附件时提示"没有选择上传文件" : 百度一下就知道谷歌,谷歌一下就知道搜搜,搜索了N次,论坛也搜索了N边,好多解释都是说php.ini的上传大小限制,一般默认是2M,小的图片都可以上传了,所以我又去找别的问题。 本地能上传,服务器上不能传,然后就对比2个php.ini文件,才发现服务器默认的php.ini中Copy code; Temporary directory f
http://blog.csdn.net/wxwzy738/article/details/8516253 class Example3 extends Thread { volatile boolean stop = false; public static void main( String args[] ) throws Exception { Exampl
sleep:在指定的毫秒数内让当前正在执行的线程休眠(暂停执行),此操作受到系统计时器和调度程序精度和准确性的影响。该线程不丢失任何监视器的所属权。 通过调用sleep使任务进入休眠状态,在这种情况下,任务在指定的时间内不会运行。调用sleep的时候锁并没有被释放。休眠 Java SE5引入了更加显示的sleep()版本作为TimeUnit类的一部分,这个方法允许你指定sleep()延迟的
//wait是释放锁,notify是唤醒其他调(用wait等待)的一个线程,不包括自己,notifyAll是唤醒所有线程包括自己 public class Notify implements Runnable { private String name; private static Object s=new Obje
gui中耗时操作应该放在一个线程中执行,如果直接在gui中执行耗时操作,gui会只显示白色框架,但不显示内容,而且点着无反应。 如下,
//java锁是对同一个对象或者同一个对象中的方法加锁;关键是同一个 错误的加锁方式 public class MyWaitNotify {public static void main(String[] args) {MyT m1=new MyT("A");MyT m2=new MyT("B");m1.start();m2.start();} } class MyT exte
接收到心跳后先解码,先不调用经过messageReceived()方法,先触发心跳接收发送类KeepAliveMessageFactoryImpl中的isRequest()方法,当判断是心跳时,就会发一个心跳,不再调用messageReceived(),当判断不是心跳时,回调messageReceived()方法,输出内容。 //服务器 import java.io.IOExce
使用mina2通信的完整代码朋友们可以去http://download.csdn.net/detail/u013378306/8756861下载 下面只对编解码协议进行解释 package lhy.charest; import java.nio.ByteOrder; import java.nio.charset.Charset; import lhy.client_d
Android 即时连天工具的开发 客户端,开三个线程,thread1监听接收消息,用udp,thread2定时向服务器发送在线消息,用tcp,thread3每隔一段时间检查发送的消息的时间是否超时(客户端之间每次收到消息都要发送一个确认包,每次发送消息,都要把此消息加入全局json,加上time,消息id等标签。直到收到确认消息后删除全局变量中的此消息),超时后就把此消息发送服