标签: forward

如何在javascript中捕获浏览器的后退/前进按钮单击事件或哈希更改事件?

我想alert()在点击浏览器的后退或前进按钮或在javascript中更改散列时.我已经尝试过这个解决方案并且它正在工作,但它会导致网页中的其他链接出现问题,并在任何链接点击事件上提交两次请求.

有没有使用setInterval()功能捕获它的解决方案?所以我需要捕获哈希更改后退/前进按钮单击事件?我需要一个简单的javascript代码/函数/属性,它应该适用于所有现代浏览器.

有解决方案吗

谢谢

javascript browser back forward

8
推荐指数
1
解决办法
5万
查看次数

前向声明和循环依赖

我有两个课程,实体和水平.两者都需要访问彼此的方法.因此,使用#include会产生循环依赖的问题.因此,为了避免这种情况,我尝试在Entity.h中转发声明Level:

class Level { };
Run Code Online (Sandbox Code Playgroud)

但是,由于Entity需要访问Level中的方法,因此它无法访问此类方法,因为它不知道它们存在.有没有办法解决这个问题,而无需重新声明实体中的大部分级别?

c++ dependencies declaration circular-dependency forward

8
推荐指数
2
解决办法
8886
查看次数

在C中定义的C++中正向声明枚举

我搜索了前方声明,并没有看到任何方法让我的情况有效.所以这里是:

1)有一个C头文件,一个导出接口,可以说是一个包含枚举类型的大型多组件软件

"export.h":

// This is in "C"!
typedef enum _VM_TYPE {...., ...., ...,} VM_TYPE;
Run Code Online (Sandbox Code Playgroud)

2)C++中的部分代码使用该导出.

"cpp_code.cpp":

// This is in C++
#include "export.h"
#include "cpp_header.hpp"
{ .... using VM_TYPE values to do stuffs....}
Run Code Online (Sandbox Code Playgroud)

"cpp_header.hpp":

// Need to somehow forward declear VM_TYPE here but how?
Struct VM_INFO {
....
VM_TYPE VType; //I need to add this enum to the struct
....
};
Run Code Online (Sandbox Code Playgroud)

很明显,问题出在cpp_head.hpp中,因为它不知道枚举.

我尝试添加到cpp_header.hpp

typedef enum _VM_TYPE VM_TYPE;
Run Code Online (Sandbox Code Playgroud)

它实际上会起作用.那为什么这个有用呢?因为它有C风格的语法?!无论如何,我被告知不要通过上层"管理"这样做("它是C++,而不是C").

是否还有其他方法可以根据当前的事物联系方式完成这项工作?他们不想更改/添加包含文件; "枚举类"只是c ++,对吗?仅将"enum VM_TYPE"添加到cpp_header.hpp将会出现有关重新定义的错误. …

c c++ enums declaration forward

8
推荐指数
1
解决办法
977
查看次数

如何在转发时将请求参数从一个servlet传递给另一个servlet

我的目标是我现在无法实现的目标:

我有一个servlet,比如'ReportServlet'.它需要一个请求参数,比如'p'.我显然可以通过以下方式获取参数:

 request.getParameter("p");
Run Code Online (Sandbox Code Playgroud)

我的JSP中的查询字符串是:

<a href="<c:url value="/report"/>?p=value">report</a>
Run Code Online (Sandbox Code Playgroud)

而且每件事都很好.

现在:我有另一个servlet,比如'PreProcessingServlet'.我想将PreProcessingServlet转发到ReportServlet,传递一个在PreProcessingServlet中计算的'p'参数.我试过了 :

RequestDispatcher rd = getServletContext().getRequestDispatcher("/report?p="+value);
rd.forward(request, response);   
Run Code Online (Sandbox Code Playgroud)

但参数'p'在请求的queryString成员中,而不在参数中.

如何使用查询参数传递'p'参数,我可以从JSP和前进中以相同的方式检索'p'.

我不想使用请求属性,因为我想要一个独特的解决方案来从JSP和转发中获取参数.

我想我错过了什么,但我找不到什么!

java parameters servlets forward

8
推荐指数
1
解决办法
3万
查看次数

C++嵌套类转发声明错误

我试图在类A中声明并使用类B并在A之外定义B.
我知道这是可能的,因为Bjarne Stroustrup
在他的书"The C++ programming language"
(例如,第293页)中使用了它String和Srep类).

所以这是导致问题的最小代码

class A{
struct B; // forward declaration
B* c;
A() { c->i; }
};

struct A::B { 
/* 
 * we define struct B like this becuase it
 * was first declared in the namespace A
 */
int i;
};

int main() {
}
Run Code Online (Sandbox Code Playgroud)

此代码在g ++中提供以下编译错误:

tst.cpp: In constructor ‘A::A()’:
tst.cpp:5: error: invalid use of undefined type ‘struct A::B’
tst.cpp:3: error: forward declaration of ‘struct A::B’
Run Code Online (Sandbox Code Playgroud)

我试着看看C++ Faq,我得到的密集在这里这里,但 …

c++ nested class declaration forward

7
推荐指数
3
解决办法
2万
查看次数

在提交响应后,是否可以从servlet过滤器转发或重定向?

逻辑是过滤器被击中,条件不成立,因此它通过过滤器链.提交响应后,过滤器被命中,条件现在为真(设置了请求属性).它进入执行转发,但页面永远不会转发.我知道这与提交的响应有关,因为我测试了它在第一次到达链之前转发的不同逻辑,并且它确实成功转发.

public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
            throws IOException, ServletException {

    HttpServletRequest httpServletRequest = (HttpServletRequest)request;

    if (some condition equals true) {
        httpServletRequest.getRequestDispatcher("/home.jsp").forward(request, response);
        return;
    } else {
        chain.doFilter(request, response);
    }
}
Run Code Online (Sandbox Code Playgroud)

我的部署描述符示例:

<filter>
    <filter-name>MyFilter</filter-name>
    <filter-class>com.filters.MyFilter</filter-class>
</filter>

<filter-mapping>
    <filter-name>MyFilter</filter-name>
    <url-pattern>*.jsp</url-pattern>
    <dispatcher>REQUEST</dispatcher>  
    <dispatcher>FORWARD</dispatcher> 
</filter-mapping>
Run Code Online (Sandbox Code Playgroud)

java servlets forward servlet-filters

7
推荐指数
2
解决办法
2万
查看次数

是否可以将数据转发到Zend 2中的另一个控制器/操作?

我认为一个常见的问题是尝试将数据转发(发布)到另一个页面.通常情况下,我会使用会话来在页面之间传递数据,但Zend中的这个前向助手看起来有潜力.有没有办法获得有关转发请求的信息?就像要求转发器一样(当没有转发器时它会正常返回null)?

如果没有当前的实施,是否可能?这将是一个有趣的项目,无论如何我永远都想要的东西.(我现在也在使用自己的BcryptDbTableAuth类,直到找到更好的解决方案).

顺便说一句,我不是在谈论添加请求参数.它应该对用户不可见.而且我还在调查变量路线(Wildcard应该可以做到这一点,但我一直得到"路线无法匹配"......将继续钻探更多)

redirect forward zend-framework2

7
推荐指数
1
解决办法
2万
查看次数

如何以编程方式执行JSF内部页面转发?

在某些条件下(如果发生异常时),如何在托管bean中以编程方式转发JSF内部页面?转发到其他页面时我不想更改URL.

现在我使用它以编程方式重定向到另一个页面,但这会更改URL.

FacesContext.getCurrentInstance().getExternalContext().redirect();
Run Code Online (Sandbox Code Playgroud)

jsf forward jsf-2

7
推荐指数
1
解决办法
1万
查看次数

nginx:转发到另一台服务器的ssl连接

我有一个主nginx服务器决定传入服务器名称将请求路由到哪里.对于两个辅助服务器,此主nginx服务器也持有ssl证书和密钥.第三台服务器持有自己的证书和密钥,因为它们经常有更新过程.

我现在的问题是如何配置主nginx服务器以将所有请求转发到服务器3,这些请求将进入此服务器.我无法将证书和密钥从服务器3复制到主服务器,因为它们经常更改.

概述服务器和http(s)连接

ssl https nginx forward

7
推荐指数
2
解决办法
1万
查看次数

从servlet调用外部Web服务

我正在开发一个获取Web服务名称的servlet,可以将请求转发给外部Web服务,例如: http://www.webservice.com/...

我已经构建了一个拦截响应输出的响应包装器,但是我无法将请求转发到外部Web服务,只有当我将请求重定向到同一服务器上的servlet时,它才有效.

例:

request.getRequestDispatcher("aMyServlet").forward(request, response) // WORKS
 request.getRequestDispatcher("http://www.webservice.com/...").forward(request, response)
Run Code Online (Sandbox Code Playgroud)

不是因为Tomcat http://www.webservice.com/...在服务器上搜索本地资源.

我该怎么办外部请求?

谢谢

java servlets forward

6
推荐指数
1
解决办法
1万
查看次数