页面 button标签 但是没有权限控制,我想自定义标签来进行权限控制,没有权限的用户是看不到,才button的,请问给为高手如可处理?
解决方案 »
- getHibernateTemplate().get 查询返回null--求教!
- 用JS在页面上实现表格的增删,并且要求与数据库相连
- struts标签问题
- 由一个文本域和一个文本框,怎样让光标从文本域移到文本框?
- 我刚学java不太了解这些名词,什么是j2ee?
- 请高手帮帮忙,怎样同过DatabaseMetaData 获得系统的存储过程
- tomact5.0.28 如何配置数据源
- 对一个服务器的ip何端口 我知道了,怎么通过socket给它发送数据?附代码
- jboss3.2.2和JB7怎么整合呀?在线等!!!!!!!!!!!!!!!!!
- 有去过东软的吗?想问问这公司怎么样?
- java里new两个二维int数组的问题
- struts2的问题
刚才我看了下struts2 自定义标签,需要在自定义标签时做个判断,感觉不太可行。
也可以用 <s:if>,<s:else if>和<s:else>来实现页面代码的判断。
也可以用 <s:if>,<s:else if>和<s:else>来实现页面代码的判断。
/*
* $Workfile: ImgButtonTag.java $
* Copyright (c) 2011 hxk, International.
* All rights reserved
* Last Changed by: $Author: hxk $
* On: $Date: 2011-12-07 $
* $Revision: 0.1 $
*/
public class ImgButtonTag extends TagSupport {
/**图片按钮名称 [可选]*/
private String name = "add";
/**图片路径 [必须]*/
private String url = null;
/**按钮权限 [必须]*/
private String permissions = null;
/**按钮事件 [可选]*/
private String onClick = null;
/**图片宽 [可选]*/
private int width=0;
/**图片高 [可选]*/
private int height=0; /* (non-Javadoc)
* @see javax.servlet.jsp.tagext.Tag#doEndTag()
*/
public int doEndTag() throws JspException
{
return (SKIP_BODY);
} /* (non-Javadoc)
* @see javax.servlet.jsp.tagext.Tag#doStartTag()
*/
public int doStartTag() throws JspException
{
String imgButton = this.createImgButton();
TagUtils.getInstance().write(pageContext, imgButton.toString());
return (SKIP_BODY);
}
/**
* 创建图片按钮
* @author hxk
* @date 2011-12-07
* @version 0.1
* @return
*/
public String createImgButton() {
HttpServletRequest request = (HttpServletRequest)pageContext.getRequest();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+"/"+request.getContextPath()+"/images/button/";
StringBuffer imgButton = new StringBuffer();
//如果权限为true显示图片否则相反
if(StringUtil.isEquals(permissions, "true")) {
//构造<img>标签
imgButton.append("<img ");
//图片路径
imgButton.append("src=\""+basePath+url+"\" ");
//图片名称
imgButton.append("name=\""+this.name+"\" ");
//设置图片的border属性
imgButton.append("border=\"0\" ");
//设置图片的宽
imgButton.append((width == 0) ? "" : "width=\""+width+"\" ");
//设置图片的高
imgButton.append((height == 0) ? "" : "hetght=\""+height+"\" ");
//设置图片当鼠标放上去后出现手形状
imgButton.append("style=\"cursor:pointer;\" ");
//加图片onClick事件
imgButton.append((onClick == null) ? "" : "onClick=\""+onClick+"\" ");
//标签结束
imgButton.append("/>");
}else {
//构造<img>标签
imgButton.append("<img ");
//图片路径
imgButton.append("src=\""+basePath+url+"\" ");
//图片名称
imgButton.append("name=\""+this.name+"\" ");
//设置图片的border属性
imgButton.append("border=\"0\" ");
//设置图片的宽
imgButton.append((width == 0) ? "" : "width=\""+width+"\" ");
//设置图片的高
imgButton.append((height == 0) ? "" : "hetght=\""+height+"\" ");
//设置图片当鼠标放上去后出现手形状、并隐藏按钮
imgButton.append("style=\"cursor:pointer;display:none;\" ");
//加图片onClick事件
imgButton.append((onClick == null) ? "" : "onClick=\""+onClick+"\" ");
//标签结束
imgButton.append("/>");
}
return imgButton.toString();
}
public int getHeight() {
return height;
} public void setHeight(int height) {
this.height = height;
} public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} public String getOnClick() {
return onClick;
} public void setOnClick(String onClick) {
this.onClick = onClick;
} public String isPermissions() {
return permissions;
} public void setPermissions(String permissions) {
this.permissions = permissions;
} public String getUrl() {
return url;
} public void setUrl(String url) {
this.url = url;
} public int getWidth() {
return width;
} public void setWidth(int width) {
this.width = width;
}}
String[] permissions = (String[])request.getAttribute("permissions");
<img:ImgButton name="add" url="add.gif" permissions="<%=permissions[1] %>" onClick="addMenu();"/> <img:ImgButton name="modify" url="modify.gif" permissions="<%=permissions[2]%>" onClick="modifyMenu();"/> <img:ImgButton name="del" url="del.gif" permissions="<%=permissions[3]%>" onClick="removeMenu();"/>至于permissions的由来请查看http://topic.csdn.net/u/20111211/18/9f596370-9e93-42d4-af27-152cccd29e69.html
tld配置
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN" "http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd">
<taglib>
<tlibversion>1.2</tlibversion>
<jspversion>1.1</jspversion>
<shortname>wms</shortname>
<uri>http://struts.apache.org/tags-logic</uri>
<tag>
<name>ImgButton</name>
<tagclass>com.hxk.common.taglib.ImgButtonTag</tagclass>
<bodycontent>JSP</bodycontent>
<attribute>
<name>name</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>url</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>permissions</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>onClick</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>width</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>height</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
</taglib>
tld配置
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN" "http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd">
<taglib>
<tlibversion>1.2</tlibversion>
<jspversion>1.1</jspversion>
<shortname>wms</shortname>
<uri>http://struts.apache.org/tags-logic</uri>
<tag>
<name>ImgButton</name>
<tagclass>com.hxk.common.taglib.ImgButtonTag</tagclass>
<bodycontent>JSP</bodycontent>
<attribute>
<name>name</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>url</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>permissions</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>onClick</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>width</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>height</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
</taglib>
JSP有自定义标签Struts2也有