小第刚学struts2.0,在研究一个别人写的小项目。当我新建一个jsp时,只要用到struts2.0的任何标签,这个就不能直接访问到
比如
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
<head>
<title>test</title>
</head>
<body>
<s:label>
<tr>
<td>test </td>
</tr>
</s:label>
</body>
</html> 输入:http://localhost:8080/portal/test.jsp就不能显示该页面,有异常。但是如果这个页面不用2.0标签就能显示正常。
=========================================
后来我另建了一个页面test2.jsp
只有一个链接
<a href="<%=request.getContextPath()%>/u/test.p">转到test.jsp页面</a>
这个链接先到Action,在有result转到这个页面
配置中我是这样写的
<package name="user" extends="struts-default">
<action name="test">
<result>/test.jsp </result>
</action>
</package>
这时输入http://localhost:8080/portal/test.p就能访问test.jsp页面,当然了,test.jsp页面使用了2.0标签,不使用也当然是可以的。所以请问,为什么我不能直接访问呢?
刚有为朋友看过我的贴子了,是我说的不够清楚,又从发了一份。不好意思啊。如果在的话还请你在帮小弟瞧瞧,谢谢
比如
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
<head>
<title>test</title>
</head>
<body>
<s:label>
<tr>
<td>test </td>
</tr>
</s:label>
</body>
</html> 输入:http://localhost:8080/portal/test.jsp就不能显示该页面,有异常。但是如果这个页面不用2.0标签就能显示正常。
=========================================
后来我另建了一个页面test2.jsp
只有一个链接
<a href="<%=request.getContextPath()%>/u/test.p">转到test.jsp页面</a>
这个链接先到Action,在有result转到这个页面
配置中我是这样写的
<package name="user" extends="struts-default">
<action name="test">
<result>/test.jsp </result>
</action>
</package>
这时输入http://localhost:8080/portal/test.p就能访问test.jsp页面,当然了,test.jsp页面使用了2.0标签,不使用也当然是可以的。所以请问,为什么我不能直接访问呢?
刚有为朋友看过我的贴子了,是我说的不够清楚,又从发了一份。不好意思啊。如果在的话还请你在帮小弟瞧瞧,谢谢
解决方案 »
- mysql+hibernate+c3p0+ehcache老报错
- 怎么在servlet中写insert语句 还有就是在表单 操作成功 怎么返回 各位前辈 有空的话,请 多写几笔
- jsp 中如何包含 一个路径为变量的文件 include 指令,动作标签都可 <%@ include file=fileroot %> <jsp:include page =fileroot /> 都不行
- jsp框架安全问题
- jsp显示本地图片的问题
- http_request.responseText中的内容是怎么确定的?
- 如何用java的正则表达式将下面字符串转换为需要的格式?在线等,谢谢
- 求问一个关于在tomcat下运行WebGoat的问题
- urlrewrite 伪静态:匹配汉字 字符 字母下划线 数字的正则表达式??
- Enumeration 的问题
- 求以下代码疑问的解答,或者WEB项目自动安装根证书的代码!
- struts+hibernate+spring 建设论坛...
比如
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
<head>
<title>test </title>
</head>
<body>
<s:label>
<tr>
<td>test </td>
</tr>
</s:label>
</body>
</html> 输入:http://localhost:8080/portal/test.jsp就不能显示该页面,有异常。但是如果这个页面不用2.0标签就能显示正常。
=========================================
后来我另建了一个页面test2.jsp
只有一个链接
<a href=" <%=request.getContextPath()%>/test.p">转到test.jsp页面 </a>
这个链接先到Action,在有result转到这个页面
配置中我是这样写的
<package name="user" extends="struts-default">
<action name="test">
<result>/test.jsp </result>
</action>
</package>
这时输入http://localhost:8080/portal/test.p就能访问test.jsp页面,当然了,test.jsp页面使用了2.0标签,不使用也当然是可以的。
所以请问,为什么我不能直接访问呢?
刚有为朋友看过我的贴子了,是我说的不够清楚,又从发了一份。不好意思啊。如果在的话还请你在帮小弟瞧瞧,谢谢
<s:label>会不会是<s:tabel>阿
我去翻下书看看
其次我想在清除声明下的我的问题1:我的test.jsp测试页面是在别的项目添加的
2:test.jsp
<%@ page language="java" pageEncoding="utf-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<html>
<head> <title>login</title></head>
<body>
this is my test jsp page!<br>
<s:textfield name="username" label="姓名" ></s:textfield>
</body>
</html>3:正常输入http://localhost:8080/portal/test.jsp不能显示页面。错误信息严重: Servlet.service() for servlet jsp threw exception
java.lang.NullPointerException
at org.apache.struts2.views.jsp.TagUtils.getStack(TagUtils.java:58)
at org.apache.struts2.views.jsp.StrutsBodyTagSupport.getStack(StrutsBodyTagSupport.java:54)
at org.apache.struts2.views.jsp.ComponentTagSupport.doStartTag(ComponentTagSupport.java:49)
at org.apache.jsp.test_jsp._jspx_meth_s_005ftextfield_005f0(test_jsp.java:98)
at org.apache.jsp.test_jsp._jspService(test_jsp.java:67)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:337)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:619)4:在struts.xml中配置了
<package name="test" extends="struts-default" namespace="/u">
<action name="test">
<result>/test.jsp</result>
action>
</package>
输入http://localhost:8080/portal/test.jsp仍然不能显示页面
输入http://localhost:8080/portal/u/test.p页面正常显示5:我就纳闷了,我自己建的任何练习项目中没这种情况发生。不知道它这个项目中配置了什么,还是另有玄机。
其次我想在清楚声明下的我的问题
1:我的test.jsp测试页面是在别人的项目添加的
2:test.jsp
<%@ page language="java" pageEncoding="utf-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<html>
<head> <title>login </title> </head>
<body>
this is my test jsp page! <br>
<s:textfield name="username" label="姓名" > </s:textfield>
</body>
</html> 3:正常输入http://localhost:8080/portal/test.jsp不能显示页面。错误信息 严重: Servlet.service() for servlet jsp threw exception
java.lang.NullPointerException
at org.apache.struts2.views.jsp.TagUtils.getStack(TagUtils.java:58)
at org.apache.struts2.views.jsp.StrutsBodyTagSupport.getStack(StrutsBodyTagSupport.java:54)
at org.apache.struts2.views.jsp.ComponentTagSupport.doStartTag(ComponentTagSupport.java:49)
at org.apache.jsp.test_jsp._jspx_meth_s_005ftextfield_005f0(test_jsp.java:98)
at org.apache.jsp.test_jsp._jspService(test_jsp.java:67)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:337)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:619) 4:在struts.xml中配置了
<package name="test" extends="struts-default" namespace="/u">
<action name="test">
<result>/test.jsp </result>
action>
</package>
输入http://localhost:8080/portal/test.jsp仍然不能显示页面
输入http://localhost:8080/portal/u/test.p页面正常显示 5:我就纳闷了,我自己建的任何练习项目中没这种情况发生。不知道它这个项目中配置了什么,还是另有玄机。