今天在做项目中,遇到了命名空间跳转发生错误的问题。
首先,登陆博客,成功后,浏览器上地址显示为:
http://127.0.0.1:8080/SoftEye/user/getUserInfo.action。这里,getUserInfo.action将我转到profile.jsp。然后,在该页面上,我点击“访问我的博客”链接,这时,浏览器上显示的地址是:http://127.0.0.1:8080/SoftEye/user/blog/vistMyBlogs.action.
网页上报错!提示我找不到映射的的action。
代码上,我在页面上已经修改了链接上的代码,如下:
<a title="访问我的个人博客首页" href='<s:url action="/blog/vistMyBlogs" </s:url>'>访问我的博客</a>
这个问题的出现让我百思不得其解。
于是自己上网查找答案。有人说的是缺少basepath,可是我在页面中已经配置根路径了。经过了多次尝试,最后,终于在书上关于命名空间的讲解中受了启发:<s:form action="" namespace="">根据这个,我在原链接的地方进行变形。结果,成功了!改正后的代码为:
<a title="访问我的个人博客首页" href='<s:url action="vistMyBlogs" namespace="/blog"></s:url>'>访问我的博客</a>
后来,经过了自己的验证,代码改成这样也能成功:<a title="访问我的个人博客首页" href='<s:url action="<%=path%>/blog/vistMyBlogs"></s:url>'>访问我的博客</a>
PS:说说自己的一些感受。有时候在编程的过程中,机器或服务器会出现问题,导致自己原本有可能正确的东西无法成功。这个时候,我们要摆正心态,相信自己。直到确定自己真正错误了为止。否则,将正确的东西抛弃了,就会让自己陷入一个难以回头的漩涡之中。
分享到:
相关推荐
在解决方案资源管理器或代码编辑器中,可以通过输入部分类名、关键词或使用`Ctrl+.`(在Windows/Linux系统)或`Cmd+.`(在macOS系统)快捷键来跳转到相应的命名空间。一旦到达正确的命名空间,所有在这个命名空间下...
在这个主题中,我们将深入探讨Spring Security 2.0的命名空间配置,并通过实例来理解其工作原理。 在Spring Security 2.0中,命名空间配置是简化安全配置的一种方式。它允许开发者使用XML配置文件中的特定命名空间...
本文将深入讲解SSM框架的基础搭建,特别是关于命名空间的部分。 首先,Spring MVC是Spring框架的一个模块,专门用于处理Web请求。它提供了模型-视图-控制器(MVC)架构模式,使得开发者可以将业务逻辑、数据展示和...
在编程语言C#中,命名空间(Namespace)、转换(Conversion)、接口(Interface)和委托(Delegate)是构建高效、可维护代码的关键概念。下面将详细解释这些知识点。 1. **命名空间**: 命名空间是C#中用于组织类...
总之,解决Struts2跳转至404页面的问题需要对整个应用的配置进行仔细检查,从Action、命名空间、拦截器到结果类型、资源路径,甚至包括服务器和IDE的设置。理解Struts2的工作原理,结合日志信息,通常可以找出导致...
2. **空间名(Namespace)**:在Struts2中,命名空间用于区分不同的URL路径,每个Action都可以关联一个或多个命名空间。空间名通常与包名保持一致,但并不强制。例如,如果Action类位于`com.example.myapp.actions`...
- **使用`redirect-action`**: 例如`<result name="topic" type="redirect-action"><param name="actionName">findTopics</param><param name="topicId">${topicId}...,适用于参数较多或需要跨命名空间跳转的场景...
- 配置文件:编写Struts.xml和其他配置文件,定义命名空间、包、Action以及默认跳转规则。 - 数据库设计:根据需求设计数据库结构,创建实体类。 - Model层:实现数据模型,包括实体类和数据访问对象(DAO)。 -...
- **使用命名空间**:通过`using`指令来引入其他命名空间中的类型。 #### 七、枚举 枚举是一种特殊的类,用于定义一组命名的常量。 - **定义枚举**: ```csharp public enum DayOfWeek { Monday, Tuesday, ...
为了解决这一问题,C++引入了命名空间的概念,允许开发者将相关的类型和函数组织在一个逻辑单元内,从而避免了全局命名空间下的命名冲突。 #### 命名空间的组成与别名 命名空间可以通过多种方式进行组合和引用,如...
我们可以使用`System.Net.NetworkInformation`命名空间下的`NetworkInterface`和`UnicastIPAddressInformation`类来获取。首先,通过`NetworkInterface.GetAllNetworkInterfaces()`方法获取所有网络接口,然后遍历...
在这个过程中,命名空间的概念引入,是为了更好地组织和管理复杂的URL配置,尤其是在大型项目中。下面我们将详细探讨Django路由配置的命名空间以及其在实际应用中的实现。 首先,我们创建一个新的Django项目,通过`...
在C#中,我们通常会引用`Microsoft.Office.Interop.Word`命名空间来访问Word的功能。以下是一些基本步骤: 1. **初始化Word应用对象**: 首先,创建一个`Word.Application`对象实例,以便我们可以控制Word应用程序...
C#提供了丰富的类库,包括Microsoft.Win32命名空间中的Registry类,使得程序员能够轻松地与注册表进行交互。在这个快速跳转助手中,源码很可能利用了这些API来实现功能。开发者可以通过调用RegistryKey对象的方法,...
如“LnkDetails”可跳转至详细信息页面。 7. **DropDownList (Drop)**:提供下拉选项列表。如“DropCountries”让用户选择国家。 8. **ListBox (Lst)**:展示多个可选项目。如“LstCountries”列出所有国家供...
此外,VSCode的CMake扩展还提供了其他便利功能,如代码补全、错误高亮、跳转到定义等。通过设置工作区配置,你可以自定义CMake的配置参数,如设置编译器路径、CMake生成目录等。 总的来说,VSCode通过集成CMake工具...
这对于处理命名空间和视图名称非常有用。例如,要在导航栏中创建到首页的链接,可以这样写: ```html 首页 ``` 这将自动生成对应的URL,即使URL配置发生变化,链接依然能正确指向首页。 总结: 理解并掌握Django...
- **规则9-2**:命名空间名称应尽可能反映其提供的整体功能,如`Company.BusinessLogic`。 ### 注释规范 #### 文件头部注释 - **规则1-1**:每个文件都应包含文件头部注释,其中包括文件名、作者、创建时间和变更...
- 可能使用`System.Net`或`System.ServiceModel`等命名空间中的类来建立服务器连接。 - `XmlSerializer`或`DataContractSerializer`用于序列化和反序列化数据,以便于服务器和客户端之间的通信。 - 可能有错误...
在实现HTTP到HTTPS的跳转时,可以使用System.Web命名空间中的HttpApplication、HttpRequest和HttpResponse类。 4. **ASP.NET Web Forms**或**ASP.NET MVC**:这两个是C# Web开发常用的框架,它们提供了处理HTTP请求...