帮帮忙—ssm框架中,简单自定义标签SimpleTagSupport如何注入spirng中的bean

权限太多,想用简单自定义标签来控制,但遇到一个头疼的问题,不能用@autowird自动注入spring管理的bean,让人恼火;

经过周折,终于解决问题,与大家一起分享,可能不是最好的方法,希望有更好方法的人能推荐给我,谢谢;

下面这样出现空指针异常

package com.bookstore.utils;import com.bookstore.client.user.handler.UserHandler;
import com.bookstore.commons.beans.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.PageContext;
import javax.servlet.jsp.tagext.SimpleTagSupport;
import java.io.IOException;@Component
public class LoginTag extends SimpleTagSupport {@Autowiredprivate UserHandler userHandler;public void doTag() throws JspException, IOException {PageContext context = (PageContext) this.getJspContext();HttpServletResponse response = (HttpServletResponse) context.getResponse();HttpServletRequest request= (HttpServletRequest) context.getRequest();User user = (User) context.getSession().getAttribute("login_user");System.out.println(userHandler);if(user==null){System.out.println("aaaaaaaaaaaaaaaaaaaa");User user1 = userHandler.autologin(request);System.out.println(user1);if(user1==null){System.out.println("BBBBBBBBBBbbbbb");response.sendRedirect(request.getContextPath()+"/client/error/privilege.jsp");}}}
}

在这里插入图片描述
而且显示注入成功,点击还能跳转
在这里插入图片描述
换一种解决方法,使用下面这样可以解决

		PageContext pageContext = (PageContext) this.getJspContext();ServletContext servletContext = pageContext.getServletContext();WebApplicationContext wac = WebApplicationContextUtils.getRequiredWebApplicationContext(servletContext);UserHandler userHandler= (UserHandler) wac.getBean("userHandler");

不明白前边的方法为什么不行?希望有答案的推荐给我,万分感谢;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/557789.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux连接svn上代码,代码管理平台介绍、安装svn、客户端上使用svn(linux)、客户端上使用svn(windows)...

代码管理平台介绍代码管理平台介绍--svn版本控制,记录若干文件内容变化,以便未来查阅特定版本修订状况.好比某一个业务,须要不断更新,好比产品经理这周提交了产品新的需求,改动了一些代码,咱们把新的代码上…

Spring初始化:org.springframework.we...ContextLoaderListener的作用

Spring初始化&#xff1a;org.springframework.web.context.ContextLoaderListener的作用 在web.xml种这样配置 <listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener>ContextLoaderList…

Linux统一编程接口,restful接口设计规范总结

一、重要概念&#xff1a;REST,即Representational State Transfer的缩写。我对这个词组的翻译是"表现层状态转化"。Resource(资源) &#xff1a;对象的单个实例。 例如&#xff0c;一只动物。它可以是一段文本、一张图片、一首歌曲、一种服务&#xff0c;总之就是一…

重写hashcode和equals方法

一。前言 我们都知道&#xff0c;要比较两个对象是否相等时需要调用对象的equals()方法&#xff0c;即判断对象引用所指向的对象地址是否相等&#xff0c;对象地址相等时&#xff0c;那么与对象相关的对象句柄、对象头、对象实例数据、对象类型数据等也是完全一致的&#xff0…

js中遇到的一个错误Uncaught SyntaxError: missing )after argument list

报的错误如下&#xff1a; 代码&#xff1a; 解决&#xff1a; 加上引号即可。

c语言第六次实验报告,第一年C语言实验报告6列

成都理工大学计算机工程学院“编程基础”实验报告1. 实验目的(1)精通一维数组. 二维数组的定义&#xff0c;初始化以及输入和输出方法(2)掌握字符数组和字符串函数的使用(3)掌握与数组有关的常用算法2. 实验内容(1)在给定的字符串中找到指定的字符&#xff1b;要求:①通过直接初…

IDEA中maven的Plugins报红解决方法

IDEA中maven的Plugins报红解决方法 Idea中maven的Plugins报红解决方法 我的maven项目中plugins下的所有文件都报红&#xff0c;查看报错&#xff0c;这是Maven中plugins没有存入本地的仓库&#xff0c;点击Settings查看Build&#xff0c;Execution…》》Build Tools》》Maven》…

JavaScript 中的 window onload 应该什么时候写

JavaScript 中的 window onload 应该什么时候写 1. 页内式 JS 代码 1.1 页内式 JS 代码写在 head 内部 如果 script 标签写在 head 标签内部&#xff0c;则位于 body 内的元素将晚于 JS 代码加载&#xff0c;那么其中一些获取 DOM 元素的方法将无法取得元素&#xff08;返回 …

android歌词效果,自定义View:Android歌词控件

TicktockMusic 音乐播放器项目相关文章汇总&#xff1a;简介之前做 TicktockMusic 音乐播放器&#xff0c;一个必要的需求肯定是歌词&#xff0c;在 github 上找了几个&#xff0c;发现或多或少都有点不满足需求&#xff0c;所以就自己动手写了一个&#xff0c;本篇文章主要介绍…

IDEA项目中 target 目录的作用

IDEA项目中 target 目录的作用 target是idea默认的编译路径&#xff0c;用来存放项目的&#xff1a;文件和目录、jar包、war包、class文件等。

bc8android汽车中控屛功能有哪些,丰田酷路泽中控台的8大功能 你们知道都是干什么用的?...

兰德酷路泽(参数|图片)中控台的8大功能 ①&#xff1a;高低速四驱调节高低速四驱调节系统&#xff0c;有着两个方向&#xff0c;L4和H4H4&#xff0c;指的是高速四驱&#xff0c;开启H4的时候适合走沙石路面&#xff0c;泥泞路面&#xff0c;雪地&#xff0c;沙石地等。最高车速…

微服务和分布式的区别

微服务和分布式的区别 1.分布式 将一个大的系统划分为多个业务模块&#xff0c;业务模块分别部署到不同的机器上&#xff0c;各个业务模块之间通过接口进行数据交互。区别分布式的方式是根据不同机器不同业务。 上面&#xff1a;service A、B、C、D 分别是业务组件&#xff…

android studio break,Android Studio IDE: Break on Exception

可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效&#xff0c;请关闭广告屏蔽插件后再试):问题:It seems my Android Studio does not want to break on any exception by default. Enabling break on "Any Exception" starts breaking within act…

php查到的内容追加到html,javascript - 请问php中如何将查询出来的结果数组转化成自己想要的格式,并在前台利用js输出到html中...

考试类型的表jx_exam_type&#xff0c;可后台添加内容考试成绩的表jx_result&#xff0c;可后台添加内容期中考试成绩表中的exam_id对应考试类型表中的id&#xff0c;也就是添加的成绩是属于期中还是期末然后使用php查询$sql"SELECT re.type, re.score, re.exam_id, et.ti…

springboot页面中静态图片路径

目录结构&#xff1a; 不写th:src"{/images/a.jpeg}"是访问不到的

html字居右垂直设置,css文字水平垂直居中怎么设置?

css文字水平垂直居中怎么设置&#xff1f;下面本篇文章就来给大家介绍使用CSS设置文字水平居中和垂直居中的方法。有一定的参考价值&#xff0c;有需要的朋友可以参考一下&#xff0c;希望对大家有所帮助。1、文字水平居中在CSS中想要让文字水平居中&#xff0c;可以使用text-a…

计算机主机声音怎么办,电脑主机声音大怎么解决 电脑主机嗡嗡响是怎么回事...

如果你经常使用电脑&#xff0c;那么主机声音大的情况你肯定遇到过&#xff0c;这就是电脑老化的表现&#xff0c;说明主机内部有了很多灰尘&#xff0c;如果平时没有注意保养&#xff0c;那么就会早主机声音很大的问题&#xff0c;怎么解决呢?很简单&#xff0c;清理主机吧&a…

计算机组成原理知识点白中英,计算机组成原理重点整理(白中英版) 考试必备

计算机组成原理重点整理(白中英版) 考试必备 一、 浮点存储&#xff1a;1&#xff0e;若浮点数 x 的 754 标准存储格式为(41360000)16&#xff0c;求其浮点数的十进制数值。解&#xff1a;将 16 进制数展开后&#xff0c;可得二制数格式为0 100 00010 011 0110 0000 0000 0…

注解@Slf4j的使用

注解Slf4j的使用 声明:如果不想每次都写private final Logger logger LoggerFactory.getLogger(当前类名.class); 可以用注解Slf4j; 1.使用idea首先需要安装Lombok插件; 2.在pom文件加入lombok的依赖 <dependency><groupId>org.projectlombok</groupId>&…

周昆 浙江大学计算机学院院长,浙江大学周昆教授来校作学术报告

校园网讯 10月30日上午&#xff0c;教育部长江学者特聘教授、国家杰出青年科学基金获得者、IEEE Fellow、浙江大学计算机辅助设计与图形学国家重点实验室主任、博士生导师周昆教授应邀来我院作题为“智能图形学&#xff1a;智能时代计算机图形学的机遇和挑战”的学术报告&#…