用string工具来判断字符串不为null且不为空
//需要第三方扩展包 import org.apache.commons.lang3.StringUtils;
StringUtils.isNoneBlank("string")
js判断undefined类型
if (reValue== undefined){
alert("undefined");
}
发现判断不出来,最后查了下资料要用typeof
方法:
if (typeof(reValue) == "undefined") {
alert("undefined");
}
typeof 返回的是字符串,有六种可能:"number"、"string"、"boolean"、"object"、"function"、"undefined"
struts2中的标签
s:checkboxlist name="rolePrivilege" list="privilegeMap"/>
name 就相当于checkbox的name
list 用一个map遍历,key就是传到后台的值,value是展示的值,list需要action中传入。
然后保存的时候action中需要name的数组来保存
注意:如果name在action中传过来有值的话,默认会选中(回显)
//超链接
<s:a action="home_complainAddUI" namespace="/sys" target="_blank">我要投诉</s:a>
通过index.jsp来实现跳转登陆页面
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
response.sendRedirect(basePath+"sys/login_toLoginUI.action");
%>
log4j日志级别:
debug
info
warn
error
fatal
//自己手动在日志输出
Log log = LogFactory.getLog(getClass());
log.info("用户名称为:" + user.getName() + " 的用户登录了系统。");
封装dao,如何获取继承类的实体class
//需要在basedaoimpl类中写入下列代码
Class<T> clazz;
public BaseDaoImpl() {
ParameterizedType pt =(ParameterizedType) this.getClass().getGenericSuperclass();
clazz=(Class<T>) pt.getActualTypeArguments()[0];
}
通过js方法提交表单
function goPage(){
document.forms[0].action = url;
document.forms[0].submit();
}
<a href="javascript:goPage(<s:property value='page.pageNo - 1'/>)">上一页</a>
刷新父窗口/刷新从那个窗口打开的窗口
window.opener.parent.location.reload(true);
window.parent.location.reload(true);
用struts通过ajax来传送json数据
***1。首先你需要json相对应的jar包和struts与json的扩展jar包
2。在struts.xml中配置,需要继承json-default,返回值类型type=”json”,指定属性root和要返回的数据,如果不指定root,将返回action所有的数据*
<package extends="struts-default,json-default" namespace="/sys" name="syshome">
<action name="home_*" method="{1}" class="com.yun.home.action.HomeAction">
<result name="homeUI">/WEB-INF/jsp/home/home.jsp</result>
<result name="complainAddUI">/WEB-INF/jsp/home/complainAddUI.jsp</result>
<result name="usersMap" type="json">
<param name="root">returnUserMap</param>
</result>
</action>
</package>
在jsp中用jquery实现ajax
$.ajax({
url:"${basePath}sys/home_getUserJson.action",
data:{"dept":toCompDept}, //(如果是提交一个表单的话可以 : data:$("#form").serialize() )
type:"post",
async: false,//异步还是同步(这里设置是同步)
dataType:"json",//返回数据类型
success: function(data){
函数体。。。
});
一个不在spring容器的对象取到spring中的bean
//需要用到一个类,这里常用在filter过滤器。
WebApplicationContext ctx = WebApplicationContextUtils.getWebApplicationContext(request.getSession().getServletContext());
PermissionCheck permissionCheck =(PermissionCheck)ctx.getBean("permissionCheck");
日期组件的使用(导入对应的js文件)
导入js(datepicker文件夹下的WdatePicker.js)
<script type="text/javascript" src="datepicker/WdatePicker.js"></script>
//别忘了写点击事件
<input type="text" id="birthday" onclick="WdatePicker()" readonly="true"/>
富文本编辑工具的使用(editor)
- 需要导入对应的组件。
- 需要在ueditor\jsp\config.json中修改上传路径
- 需要把组价的jar包引入工程中的lib中
- 需要引入三个js文件
<script type="text/javascript" charset="utf-8" src="${basePath}js/ueditor/ueditor.config.js"></script>
<script type="text/javascript" charset="utf-8" src="${basePath}js/ueditor/ueditor.all.min.js"> </script>
<!--建议手动加在语言,避免在ie下有时因为加载语言失败导致编辑器加载失败-->
<!--这里加载的语言文件会覆盖你在配置项目里添加的语言类型,比如你在配置项目里配置的是英文,这里加载的中文,那最后就是中文-->
<script type="text/javascript" charset="utf-8" src="${basePath}js/ueditor/lang/zh-cn/zh-cn.js"></script>
<script>
window.UEDITOR_HOME_URL = "${basePath }js/ueditor/";
var ue = UE.getEditor('editor');
</script>
//别忘了写id
<s:textarea id="editor" name="info.content" cssStyle="width:90%;height:160px;" />
字符串转换成date
DateUtils.parseDate("2017-4-12 12:30:22", "yyyy-MM-dd HH:mm:ss")
根据相对路径获取绝对路径
//拿到保存文件的路径
String path = "/upload";
//根据相对路径获取绝对路径
String realPath = ServletActionContext.getServletContext().getRealPath(path);