当前位置:编程学习 > JAVA >>

JAVA初学者,求详细的翻译对照

import java.util.*;
import javax.servlet.http.*;
import javax.servlet.jsp.*;
import javax.servlet.jsp.tagext.*;
public class SecurityTagForField extends TagSupport
{private int permissionID;
private String privilege;
public int doStartTag() throws JspException
{HttpSession session = pageContext.getSession();
UserProfile userProfile = (UserProfile)session.getAttribute("userProfile");
Collection collection= userProfile.getUserPermissions();
Iterator it = collection.iterator() ;
while(it.hasNext())
{UserPermission userPermission = (UserPermission)it.next();
if (privilege ==null)
{if ( (permissionID == userPermission.getPermissionId()))
{return EVAL_BODY_INCLUDE;
}
}
else
{if ((permissionID == userPermission.getPermissionId())
&&(privilege.equals(userPermission.getPrivilege())))
{return EVAL_BODY_INCLUDE;
}
}
}
return SKIP_BODY;
}
public int getPermissionID()
{return permissionID;
}
public void setPermissionID(int permissionID)
{this.permissionID = permissionID;
}
public String getPrivilege()
{return privilege;
}
public void setPrivilege(String privilege)
{this.privilege = privilege;
}
}
import java.util.*;
import javax.servlet.http.*;
import javax.servlet.jsp.*;
import javax.servlet.jsp.tagext.*;
public class SecurityTagForField extends TagSupport
{private int permissionID;
private String privilege;
public int doStartTag() throws JspException
{HttpSession session = pageContext.getSession();
UserProfile userProfile = (UserProfile)session.getAttribute("userProfile");
Collection collection= userProfile.getUserPermissions();
Iterator it = collection.iterator() ;
while(it.hasNext())
{UserPermission userPermission = (UserPermission)it.next();
if (privilege ==null)
{if ( (permissionID == userPermission.getPermissionId()))
{return EVAL_BODY_INCLUDE;
}
}
答案:
import java.util.*; 
import javax.servlet.http.*;
import javax.servlet.jsp.*;
import javax.servlet.jsp.tagext.*;
public class SecurityTagForField extends TagSupport //定义SecurityTagForField类并继承(extends)TagSupport类
{
private int permissionID; //定义私有的(private)整型(int) 的字段(permissionID)
private String privilege; //同上字--符串型(String)
public int doStartTag() throws JspException {//定义int返回值类型的方法(doStartTag())并抛出出异常 为的是方法里再不用调用try{}catch{}
HttpSession session = pageContext.getSession(); //设置会话变量
UserProfile userProfile = (UserProfile)session.getAttribute("userProfile"); //获取userProfile的值并强转为UserProfile类型
Collection collection= userProfile.getUserPermissions(); //定义集合collection
Iterator it = collection.iterator() ; //定义迭代器Iterator
while(it.hasNext()) {//循环
UserPermission userPermission = (UserPermission)it.next(); //强转循环遍历出来的值为UserPermission
if (privilege ==null) //判断privilege是否为空 是则执行以下
{
if ( (permissionID == userPermission.getPermissionId())) {return EVAL_BODY_INCLUDE; } } else //否则执行以下
{
if ((permissionID == userPermission.getPermissionId()) &&(privilege.equals(userPermission.getPrivilege())))
{
return EVAL_BODY_INCLUDE;
}
}
}
return SKIP_BODY;
}
字数有限只说主要的,祝你好运
这是一个自定义标签处理类,实现的功能是判断当前用户是否有访问的权限
//自定义标签处理方法,重写父类的方法,用于实现当遇到自定义标签的开始标签时做的处理
public int doStartTag() throws JspException {
//获得HttpSession对象,目的在于取出当前用户
HttpSession session = pageContext.getSession();
//在系统登录的时候,一般情况下,登录之后,会把登陆人的信息封装成一个对象,放到session里,下面应该是把当前用户所有的可操作权限

通过session.setAttribute("userProfile",userProfile)方法进行了存储,所以下面通过"userProfile"从session中,把UserProfile对象取出


UserProfile userProfile = (UserProfile) session.getAttribute("userProfile");
//UserProfile对象中应该封装了所有的可操作权限,通过getUserPermissions()方法获得这些权限的集合
Collection collection = userProfile.getUserPermissions();
//通过Iterator迭代器对象迭代集合中的每一个元素
Iterator it = collection.iterator();
while (it.hasNext()) {
//取出集合中的一个对象,每个对象的类型是UserPermission,这个对象应该表示一个权限
UserPermission userPermission = (UserPermission) it.next();
//privilege属性作为类属性,通过JSP自定义标签传入,我理解应该是一个特权的判断,如果指定了该属性,那么这个值应该不为null,表

示拥有某种特权,不但要求拥有功能权限,也要求拥有特权权限,下面的处理是privilege为null的情况,即没有特权
if (privilege == null) {
//permissionID属性也是通过JSP页面的自定义标签传递的,应该表示一个权限ID,通过userPermission(权限对象)的getPermissionId

()方法获得权限ID,然后和传入的permissionID做比较,如果一致,那么就处理标记体的内容,即拥有权限.
if ((permissionID == userPermission.getPermissionId())) {
return EVAL_BODY_INCLUDE;
}
} else {
//接下来的处理是说有特权的情况下,permissionID == userPermission.getPermissionId()的解释和没有特权的情况是一样的,只是

增加了一个限定条件,之忧两个条件同时成立的情况下,才被视为有操作的权限,新的条件用privilege和userPermission对象中的privilege比较

,如果相等,那么就为真
if ((permissionID == userPermission.getPermissionId())
&& (privilege.equals(userPermission.getPrivilege()))) {
return EVAL_BODY_INCLUDE;
}
}
}
//执行到此,如果没有权限,跳过标记体的内容,直接返回.
return SKIP_BODY;
}

//下面的四个set和get方法是对应permissionID和privilege的设置器和获取器,其中,set方法是必须得,get方法可以删除,没有什么用,由于字数有限,我就不重复代码了.
...
}
让 放松放松的
mport java.util.*; 
import javax.servlet.http.*;
import javax.servlet.jsp.*;
import javax.servlet.jsp.tagext.*;
public class SecurityTagForField extends TagSupport
{private int permissionID; //变量id--这些是你自己设置代表的意思
private String privilege; //变量
public int doStartTag() throws JspException
{
HttpSession session = pageContext.getSession(); //设置会话变量
UserProfile userProfile = (UserProfile)session.getAttribute("userProfile"); //这里有未知的类,是否还有其他类,你给的不全哈
Collection collection= userProfile.getUserPermissions();
Iterator it = collection.iterator() ;
while(it.hasNext())
{
UserPermission userPermission = (UserPermission)it.next(); //这里也是
if (privilege ==null) //判断privilege是否为空 是则执行以下
{if ( (permissionID == userPermission.getPermissionId()))
{return EVAL_BODY_INCLUDE;
}
}
else //否则执行以下
{if ((permissionID == userPermission.getPermissionId())
&&(privilege.equals(userPermission.getPrivilege())))
{return EVAL_BODY_INCLUDE;
}
}
}
return SKIP_BODY;
}
public int getPermissionID() //获取id的方法
{
return permissionID;
}
public void setPermissionID(int permissionID) //设置id值
{this.permissionID = permissionID;
}
public String getPrivilege() //获取变量//设置id值
{return privilege;
}
public void setPrivilege(String privilege) //设置//设置id值值
{this.privilege = privilege;
}
}
你后面的重复咯
//import 引入
import java.util.*;
import javax.servlet.http.*;
import javax.servlet.jsp.*;
import javax.servlet.jsp.tagext.*;
//public 公共 class SecurityTagForField 声明SecurityTagForField类
//exteds 继承 TagSupport类
public class SecurityTagForField extends TagSupport
{
//private 私有 int 整形变量 String 字符型变量
private int permissionID;
private String privilege;
//下面是doStartTag方法 throws 异常
public int doStartTag() throws JspException
{
//返回用户session
HttpSession session = pageContext.getSession();
//(UserProfile)转换
//session.getAttribute("userProfile") 返回session 中的userProfile的值
UserProfile userProfile = (UserProfile)session.getAttribute("userProfile");
//返回 userProfile里的collection
Collection collection= userProfile.getUserPermissions();
Iterator it = collection.iterator() ;
//循环语句
while(it.hasNext())
{UserPermission userPermission = (UserPermission)it.next();
if (privilege ==null)
{if ( (permissionID == userPermission.getPermissionId()))
{return EVAL_BODY_INCLUDE;
}
}
else
{if ((permissionID == userPermission.getPermissionId())
&&(privilege.equals(userPermission.getPrivilege())))
{return EVAL_BODY_INCLUDE;
}
}
}
//返回值
return SKIP_BODY;
}

public int getPermissionID()
{return permissionID;
}
public void setPermissionID(int permissionID)
{
//this 指的是被隐藏的permissionID
this.permissionID = permissionID;
}
public String getPrivilege()
{return privilege;
}
public void setPrivilege(String privilege)
{this.privilege = privilege;
}
}

不是很会,自己的一点理解
你们翻译的太狠了。。。extends TagSupport 
详细看下TagSupport 作标签的类

上一个:学习JAVA的每个阶段看什么书???
下一个:JAVA和.NET有哪些相同点和不同点

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,