⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 interceptors.jsp

📁 jive的源码
💻 JSP
📖 第 1 页 / 共 3 页
字号:
                    if (descriptors[i].getName().equals(newPropName)) {                        propDescriptor = descriptors[i];                        break;                    }                }                if (propDescriptor != null) {                    // Get both the read and write methods:                    Method readMethod = propDescriptor.getReadMethod();                    Method writeMethod = propDescriptor.getWriteMethod();                    // Get the String[] via the read method:                    String[] entries = (String[])readMethod.invoke(interceptor, null);                    // Make a new entry array of entries.length+1 because we're                    // adding one more entry to the property                    String[] newEntries = new String[entries.length+1];                    for (int i=0; i<entries.length; i++) {                        newEntries[i] = entries[i];                    }                    // The new prop value goes in the last spot of newEntries:                    newEntries[newEntries.length-1] = newPropValue;                    // Use the write method to save the new entries:                    writeMethod.invoke(interceptor, new Object[]{newEntries});                    // Save interceptors                    interceptorManager.saveInterceptors();                    // Done, so redirect                    StringBuffer url = new StringBuffer();                    url.append("interceptors.jsp?forum=").append(forumID);                    url.append("&edit=true&pos=").append(interceptorIndex);                    response.sendRedirect(url.toString());                    return;                }            }        }    }    // Remove one of the String[] prop entries:    if (deletePropEntry) {        if (deletePropertyName != null) {            // The interceptor we're working with:            MessageInterceptor interceptor = interceptorManager.getInterceptor(interceptorIndex);            PropertyDescriptor[] descriptors = (Introspector.getBeanInfo(interceptor.getClass())).getPropertyDescriptors();            PropertyDescriptor propDescriptor = null;            // Look for the property specified            for (int i=0; i<descriptors.length; i++) {                if (descriptors[i].getName().equals(deletePropertyName)) {                    propDescriptor = descriptors[i];                    break;                }            }            if (propDescriptor != null) {                // Get both the read and write methods:                Method readMethod = propDescriptor.getReadMethod();                Method writeMethod = propDescriptor.getWriteMethod();                // Get the String[] via the read method:                String[] entries = (String[])readMethod.invoke(interceptor, null);                // Make a new entry array of entries.length+1 because we're                // adding one more entry to the property                String[] newEntries = new String[entries.length-1];                int offset = 0;                for (int i=0; i<newEntries.length; i++) {                    // Skip the index of the item we want to delete                    if (i == deleteIndex) {                        offset++;                    }                    newEntries[i] = entries[i+offset];                }                // Use the write method to save the new entries:                writeMethod.invoke(interceptor, new Object[]{newEntries});                // Save interceptors                interceptorManager.saveInterceptors();                // Done, so redirect                StringBuffer url = new StringBuffer();                url.append("interceptors.jsp?forum=").append(forumID);                url.append("&edit=true&pos=").append(interceptorIndex);                response.sendRedirect(url.toString());                return;            }        }    }    // Save interceptor properties    if (saveProperties) {        if (interceptorIndex >= 0) {            // The interceptor we're working with            MessageInterceptor interceptor = interceptorManager.getInterceptor(interceptorIndex);            // A map of name/value pairs. The names are the names of the bean            // properties and the values come as parameters to this page            Map properties = getInterceptorPropertyValues(request, interceptorManager, interceptor);            // Set the properties            BeanUtils.setProperties(interceptor, properties);            // Save the interceptors            interceptorManager.saveInterceptors();            // Done, so redirect to this page            response.sendRedirect("interceptors.jsp?forum=" + forumID);            return;        }    }    // Add a new interceptor to the list of installable interceptors    if (addInterceptor) {        try {            if (newClassname == null) {                throw new ClassNotFoundException("No classname specified.");            }            try {                // Load the specified class, make sure it's an insance of the interceptor class:                Class c = ClassUtils.forName(newClassname.trim());                Object obj = c.newInstance();                if (obj instanceof MessageInterceptor) {                    interceptorManager.addInterceptorClass(newClassname.trim());                }            }            catch (Exception e) {                throw new ClassNotFoundException();            }        }        catch (ClassNotFoundException cnfe) {            setOneTimeMessage(session, "message",                "\"" + newClassname + "\" is not a valid classname.");        }        response.sendRedirect("interceptors.jsp?forum=" + forumID);        return;    }    // Change the position of a interceptor    if (changePosition) {        if (interceptorIndex >= 0) {            // Get the interceptor at the specified interceptor position            MessageInterceptor interceptor = interceptorManager.getInterceptor(interceptorIndex);            // Re-add it based on the "direction" we're doing. First, remove it:            interceptorManager.removeInterceptor(interceptorIndex);            if (up) {                interceptorManager.addInterceptor(interceptorIndex-1, interceptor);            }            if (down) {                interceptorManager.addInterceptor(interceptorIndex+1, interceptor);            }            // done, so redirect            response.sendRedirect("interceptors.jsp?forum=" + forumID);            return;        }    }    // Number of installed interceptors    int interceptorCount = interceptorManager.getInterceptorCount();    // All interceptor classes    MessageInterceptor[] interceptors = interceptorManager.getAvailableInterceptors();    if (install && classname != null) {        try {            MessageInterceptor newInterceptor = (MessageInterceptor)(ClassUtils.forName(classname)).newInstance();            interceptorManager.addInterceptor(0, newInterceptor);            String redirect = "interceptors.jsp";            if (forumID > -1L) {                redirect += "?forum=" + forumID;            }            response.sendRedirect(redirect);            return;        }        catch (Exception e) {            e.printStackTrace();        }    }    if (remove && position > -1) {        interceptorManager.removeInterceptor(position);        String redirect = "interceptors.jsp";        if (forumID > -1L) {            redirect += "?forum=" + forumID;        }        response.sendRedirect(redirect);        return;    }%><%@ include file="header.jsp" %><%  // Title of this page and breadcrumbs    String title = "";    if (isGlobal) {        title = "Global Message Interceptors";    } else {        title = "Message Interceptors";    }    String[][] breadcrumbs = null;    if (isGlobal) {        breadcrumbs = new String[][] {            {"Main", "main.jsp"},            {title, "interceptors.jsp"}        };    }    else {        breadcrumbs = new String[][] {            {"Main", "main.jsp"},            {"Forums", "forums.jsp"},            {"Edit Forum", "editForum.jsp?forum="+forumID},            {title, "interceptors.jsp?forum="+forumID}        };    }%><%@ include file="title.jsp" %><span><font size="-1"><%  if (isGlobal) { %>    Interceptors examine messages before they enter the system and can modify or    reject them. Use the forms below to install and customize global interceptors.<%  } else { %>    Interceptors examine messages before they enter the system and can modify or    reject them. Use the forms below to install and customize local interceptors.<%  } %></font></span><p><script language="JavaScript" type="text/javascript">var interceptorInfo = new Array(<%	for (int i=0; i<interceptors.length; i++) {        try {            BeanDescriptor descriptor = (Introspector.getBeanInfo(interceptors[i].getClass())).getBeanDescriptor();%>    new Array(        "<%= descriptor.getBeanClass().getName() %>",        "<%= descriptor.getValue("version") %>",        "<%= descriptor.getValue("author") %>",        "<%= StringUtils.replace(descriptor.getShortDescription(), "\"", "\\\"") %>"    )<%          if ((interceptors.length-i) > 1) { %>		,<%	        }        } catch (Exception e) {}    }%>);function properties(theForm) {    var className = theForm.interceptors.options[theForm.interceptors.selectedIndex].value;    var selected = 0;    for (selected=0; selected<interceptorInfo.length; selected++) {        if (interceptorInfo[selected][0] == className) {            var version = interceptorInfo[selected][1];            var author = interceptorInfo[selected][2];            var description = interceptorInfo[selected][3];            theForm.version.value = ((version=="null")?"":version);            theForm.author.value = ((author=="null")?"":author);            theForm.description.value = ((description=="null")?"":description);            break;        }    }}</script><%  // Print out a message if one exists    String oneTimeMessage = getOneTimeMessage(session, "message");    if (oneTimeMessage != null) {%>    <font size="-1" color="#ff0000">    <i><%= oneTimeMessage %></i>    </font>    <p><%  }%><%  // Colors

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -