org.springframework.web.servlet.support.RequestDataValueProcessorWrapper#org.springframework.web.servlet.support.RequestDataValueProcessor源码实例Demo

下面列出了org.springframework.web.servlet.support.RequestDataValueProcessorWrapper#org.springframework.web.servlet.support.RequestDataValueProcessor 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: spring-analysis-note   文件: RedirectView.java
/**
 * Find the registered {@link RequestDataValueProcessor}, if any, and allow
 * it to update the redirect target URL.
 * @param targetUrl the given redirect URL
 * @return the updated URL or the same as URL as the one passed in
 */
protected String updateTargetUrl(String targetUrl, Map<String, Object> model,
		HttpServletRequest request, HttpServletResponse response) {

	WebApplicationContext wac = getWebApplicationContext();
	if (wac == null) {
		wac = RequestContextUtils.findWebApplicationContext(request, getServletContext());
	}

	if (wac != null && wac.containsBean(RequestContextUtils.REQUEST_DATA_VALUE_PROCESSOR_BEAN_NAME)) {
		RequestDataValueProcessor processor = wac.getBean(
				RequestContextUtils.REQUEST_DATA_VALUE_PROCESSOR_BEAN_NAME, RequestDataValueProcessor.class);
		return processor.processUrl(request, targetUrl);
	}

	return targetUrl;
}
 
源代码2 项目: spring-analysis-note   文件: UrlTag.java
@Override
public int doEndTag() throws JspException {
	String url = createUrl();

	RequestDataValueProcessor processor = getRequestContext().getRequestDataValueProcessor();
	ServletRequest request = this.pageContext.getRequest();
	if ((processor != null) && (request instanceof HttpServletRequest)) {
		url = processor.processUrl((HttpServletRequest) request, url);
	}

	if (this.var == null) {
		// print the url to the writer
		try {
			this.pageContext.getOut().print(url);
		}
		catch (IOException ex) {
			throw new JspException(ex);
		}
	}
	else {
		// store the url as a variable
		this.pageContext.setAttribute(this.var, url, this.scope);
	}
	return EVAL_PAGE;
}
 
源代码3 项目: spring-analysis-note   文件: RedirectViewTests.java
@Test
public void updateTargetUrl() throws Exception {
	StaticWebApplicationContext wac = new StaticWebApplicationContext();
	wac.registerSingleton("requestDataValueProcessor", RequestDataValueProcessorWrapper.class);
	wac.setServletContext(new MockServletContext());
	wac.refresh();

	RequestDataValueProcessor mockProcessor = mock(RequestDataValueProcessor.class);
	wac.getBean(RequestDataValueProcessorWrapper.class).setRequestDataValueProcessor(mockProcessor);

	RedirectView rv = new RedirectView();
	rv.setApplicationContext(wac);	// Init RedirectView with WebAppCxt
	rv.setUrl("/path");

	request.setAttribute(DispatcherServlet.WEB_APPLICATION_CONTEXT_ATTRIBUTE, wac);

	given(mockProcessor.processUrl(request, "/path")).willReturn("/path?key=123");
	rv.render(new ModelMap(), request, response);
	verify(mockProcessor).processUrl(request, "/path");
}
 
源代码4 项目: spring-analysis-note   文件: RedirectViewTests.java
@Test
public void updateTargetUrlWithContextLoader() throws Exception {
	StaticWebApplicationContext wac = new StaticWebApplicationContext();
	wac.registerSingleton("requestDataValueProcessor", RequestDataValueProcessorWrapper.class);

	MockServletContext servletContext = new MockServletContext();
	ContextLoader contextLoader = new ContextLoader(wac);
	contextLoader.initWebApplicationContext(servletContext);

	try {
		RequestDataValueProcessor mockProcessor = mock(RequestDataValueProcessor.class);
		wac.getBean(RequestDataValueProcessorWrapper.class).setRequestDataValueProcessor(mockProcessor);

		RedirectView rv = new RedirectView();
		rv.setUrl("/path");

		given(mockProcessor.processUrl(request, "/path")).willReturn("/path?key=123");
		rv.render(new ModelMap(), request, response);
		verify(mockProcessor).processUrl(request, "/path");
	}
	finally {
		contextLoader.closeWebApplicationContext(servletContext);
	}
}
 
源代码5 项目: spring-analysis-note   文件: FormTagTests.java
@Test
public void requestDataValueProcessorHooks() throws Exception {
	String action = "/my/form?foo=bar";
	RequestDataValueProcessor processor = getMockRequestDataValueProcessor();
	given(processor.processAction(this.request, action, "post")).willReturn(action);
	given(processor.getExtraHiddenFields(this.request)).willReturn(Collections.singletonMap("key", "value"));

	this.tag.doStartTag();
	this.tag.doEndTag();
	this.tag.doFinally();

	String output = getOutput();

	assertEquals("<div>\n<input type=\"hidden\" name=\"key\" value=\"value\" />\n</div>", getInputTag(output));
	assertFormTagOpened(output);
	assertFormTagClosed(output);
}
 
源代码6 项目: java-technology-stack   文件: RedirectView.java
/**
 * Find the registered {@link RequestDataValueProcessor}, if any, and allow
 * it to update the redirect target URL.
 * @param targetUrl the given redirect URL
 * @return the updated URL or the same as URL as the one passed in
 */
protected String updateTargetUrl(String targetUrl, Map<String, Object> model,
		HttpServletRequest request, HttpServletResponse response) {

	WebApplicationContext wac = getWebApplicationContext();
	if (wac == null) {
		wac = RequestContextUtils.findWebApplicationContext(request, getServletContext());
	}

	if (wac != null && wac.containsBean(RequestContextUtils.REQUEST_DATA_VALUE_PROCESSOR_BEAN_NAME)) {
		RequestDataValueProcessor processor = wac.getBean(
				RequestContextUtils.REQUEST_DATA_VALUE_PROCESSOR_BEAN_NAME, RequestDataValueProcessor.class);
		return processor.processUrl(request, targetUrl);
	}

	return targetUrl;
}
 
源代码7 项目: java-technology-stack   文件: UrlTag.java
@Override
public int doEndTag() throws JspException {
	String url = createUrl();

	RequestDataValueProcessor processor = getRequestContext().getRequestDataValueProcessor();
	ServletRequest request = this.pageContext.getRequest();
	if ((processor != null) && (request instanceof HttpServletRequest)) {
		url = processor.processUrl((HttpServletRequest) request, url);
	}

	if (this.var == null) {
		// print the url to the writer
		try {
			this.pageContext.getOut().print(url);
		}
		catch (IOException ex) {
			throw new JspException(ex);
		}
	}
	else {
		// store the url as a variable
		this.pageContext.setAttribute(this.var, url, this.scope);
	}
	return EVAL_PAGE;
}
 
源代码8 项目: java-technology-stack   文件: RedirectViewTests.java
@Test
public void updateTargetUrl() throws Exception {
	StaticWebApplicationContext wac = new StaticWebApplicationContext();
	wac.registerSingleton("requestDataValueProcessor", RequestDataValueProcessorWrapper.class);
	wac.setServletContext(new MockServletContext());
	wac.refresh();

	RequestDataValueProcessor mockProcessor = mock(RequestDataValueProcessor.class);
	wac.getBean(RequestDataValueProcessorWrapper.class).setRequestDataValueProcessor(mockProcessor);

	RedirectView rv = new RedirectView();
	rv.setApplicationContext(wac);	// Init RedirectView with WebAppCxt
	rv.setUrl("/path");

	request.setAttribute(DispatcherServlet.WEB_APPLICATION_CONTEXT_ATTRIBUTE, wac);

	given(mockProcessor.processUrl(request, "/path")).willReturn("/path?key=123");
	rv.render(new ModelMap(), request, response);
	verify(mockProcessor).processUrl(request, "/path");
}
 
源代码9 项目: java-technology-stack   文件: RedirectViewTests.java
@Test
public void updateTargetUrlWithContextLoader() throws Exception {
	StaticWebApplicationContext wac = new StaticWebApplicationContext();
	wac.registerSingleton("requestDataValueProcessor", RequestDataValueProcessorWrapper.class);

	MockServletContext servletContext = new MockServletContext();
	ContextLoader contextLoader = new ContextLoader(wac);
	contextLoader.initWebApplicationContext(servletContext);

	try {
		RequestDataValueProcessor mockProcessor = mock(RequestDataValueProcessor.class);
		wac.getBean(RequestDataValueProcessorWrapper.class).setRequestDataValueProcessor(mockProcessor);

		RedirectView rv = new RedirectView();
		rv.setUrl("/path");

		given(mockProcessor.processUrl(request, "/path")).willReturn("/path?key=123");
		rv.render(new ModelMap(), request, response);
		verify(mockProcessor).processUrl(request, "/path");
	}
	finally {
		contextLoader.closeWebApplicationContext(servletContext);
	}
}
 
源代码10 项目: java-technology-stack   文件: FormTagTests.java
@Test
public void requestDataValueProcessorHooks() throws Exception {
	String action = "/my/form?foo=bar";
	RequestDataValueProcessor processor = getMockRequestDataValueProcessor();
	given(processor.processAction(this.request, action, "post")).willReturn(action);
	given(processor.getExtraHiddenFields(this.request)).willReturn(Collections.singletonMap("key", "value"));

	this.tag.doStartTag();
	this.tag.doEndTag();
	this.tag.doFinally();

	String output = getOutput();

	assertEquals("<div>\n<input type=\"hidden\" name=\"key\" value=\"value\" />\n</div>", getInputTag(output));
	assertFormTagOpened(output);
	assertFormTagClosed(output);
}
 
源代码11 项目: lams   文件: RedirectView.java
/**
 * Find the registered {@link RequestDataValueProcessor}, if any, and allow
 * it to update the redirect target URL.
 * @param targetUrl the given redirect URL
 * @return the updated URL or the same as URL as the one passed in
 */
protected String updateTargetUrl(String targetUrl, Map<String, Object> model,
		HttpServletRequest request, HttpServletResponse response) {

	WebApplicationContext wac = getWebApplicationContext();
	if (wac == null) {
		wac = RequestContextUtils.findWebApplicationContext(request, getServletContext());
	}

	if (wac != null && wac.containsBean(RequestContextUtils.REQUEST_DATA_VALUE_PROCESSOR_BEAN_NAME)) {
		RequestDataValueProcessor processor = wac.getBean(
				RequestContextUtils.REQUEST_DATA_VALUE_PROCESSOR_BEAN_NAME, RequestDataValueProcessor.class);
		return processor.processUrl(request, targetUrl);
	}

	return targetUrl;
}
 
源代码12 项目: lams   文件: UrlTag.java
@Override
public int doEndTag() throws JspException {
	String url = createUrl();

	RequestDataValueProcessor processor = getRequestContext().getRequestDataValueProcessor();
	ServletRequest request = this.pageContext.getRequest();
	if ((processor != null) && (request instanceof HttpServletRequest)) {
		url = processor.processUrl((HttpServletRequest) request, url);
	}

	if (this.var == null) {
		// print the url to the writer
		try {
			pageContext.getOut().print(url);
		}
		catch (IOException ex) {
			throw new JspException(ex);
		}
	}
	else {
		// store the url as a variable
		pageContext.setAttribute(var, url, scope);
	}
	return EVAL_PAGE;
}
 
源代码13 项目: spring4-understanding   文件: RedirectView.java
/**
 * Find the registered {@link RequestDataValueProcessor}, if any, and allow
 * it to update the redirect target URL.
 * @param targetUrl the given redirect URL
 * @return the updated URL or the same as URL as the one passed in
 */
protected String updateTargetUrl(String targetUrl, Map<String, Object> model,
		HttpServletRequest request, HttpServletResponse response) {

	WebApplicationContext wac = getWebApplicationContext();
	if (wac == null) {
		wac = RequestContextUtils.findWebApplicationContext(request, getServletContext());
	}

	if (wac != null && wac.containsBean(RequestContextUtils.REQUEST_DATA_VALUE_PROCESSOR_BEAN_NAME)) {
		RequestDataValueProcessor processor = wac.getBean(
				RequestContextUtils.REQUEST_DATA_VALUE_PROCESSOR_BEAN_NAME, RequestDataValueProcessor.class);
		return processor.processUrl(request, targetUrl);
	}

	return targetUrl;
}
 
源代码14 项目: spring4-understanding   文件: UrlTag.java
@Override
public int doEndTag() throws JspException {
	String url = createUrl();

	RequestDataValueProcessor processor = getRequestContext().getRequestDataValueProcessor();
	ServletRequest request = this.pageContext.getRequest();
	if ((processor != null) && (request instanceof HttpServletRequest)) {
		url = processor.processUrl((HttpServletRequest) request, url);
	}

	if (this.var == null) {
		// print the url to the writer
		try {
			pageContext.getOut().print(url);
		}
		catch (IOException e) {
			throw new JspException(e);
		}
	}
	else {
		// store the url as a variable
		pageContext.setAttribute(var, url, scope);
	}
	return EVAL_PAGE;
}
 
源代码15 项目: spring4-understanding   文件: RedirectViewTests.java
@Test
public void updateTargetUrl() throws Exception {
	StaticWebApplicationContext wac = new StaticWebApplicationContext();
	wac.registerSingleton("requestDataValueProcessor", RequestDataValueProcessorWrapper.class);
	wac.setServletContext(new MockServletContext());
	wac.refresh();

	RequestDataValueProcessor mockProcessor = mock(RequestDataValueProcessor.class);
	wac.getBean(RequestDataValueProcessorWrapper.class).setRequestDataValueProcessor(mockProcessor);

	RedirectView rv = new RedirectView();
	rv.setApplicationContext(wac);	// Init RedirectView with WebAppCxt
	rv.setUrl("/path");

	MockHttpServletRequest request = createRequest();
	request.setAttribute(DispatcherServlet.WEB_APPLICATION_CONTEXT_ATTRIBUTE, wac);
	HttpServletResponse response = new MockHttpServletResponse();

	given(mockProcessor.processUrl(request, "/path")).willReturn("/path?key=123");

	rv.render(new ModelMap(), request, response);

	verify(mockProcessor).processUrl(request, "/path");
}
 
源代码16 项目: spring4-understanding   文件: FormTagTests.java
@Test
public void requestDataValueProcessorHooks() throws Exception {
	String action = "/my/form?foo=bar";
	RequestDataValueProcessor processor = getMockRequestDataValueProcessor();
	given(processor.processAction(this.request, action, "post")).willReturn(action);
	given(processor.getExtraHiddenFields(this.request)).willReturn(Collections.singletonMap("key", "value"));

	this.tag.doStartTag();
	this.tag.doEndTag();
	this.tag.doFinally();

	String output = getOutput();

	assertEquals("<div>\n<input type=\"hidden\" name=\"key\" value=\"value\" />\n</div>", getInputTag(output));
	assertFormTagOpened(output);
	assertFormTagClosed(output);
}
 
源代码17 项目: spring-analysis-note   文件: FormTag.java
/**
 * Process the action through a {@link RequestDataValueProcessor} instance
 * if one is configured or otherwise returns the action unmodified.
 */
private String processAction(String action) {
	RequestDataValueProcessor processor = getRequestContext().getRequestDataValueProcessor();
	ServletRequest request = this.pageContext.getRequest();
	if (processor != null && request instanceof HttpServletRequest) {
		action = processor.processAction((HttpServletRequest) request, action, getHttpMethod());
	}
	return action;
}
 
源代码18 项目: spring-analysis-note   文件: FormTag.java
/**
 * Closes the '{@code form}' block tag and removes the form object name
 * from the {@link javax.servlet.jsp.PageContext}.
 */
@Override
public int doEndTag() throws JspException {
	RequestDataValueProcessor processor = getRequestContext().getRequestDataValueProcessor();
	ServletRequest request = this.pageContext.getRequest();
	if (processor != null && request instanceof HttpServletRequest) {
		writeHiddenFields(processor.getExtraHiddenFields((HttpServletRequest) request));
	}
	Assert.state(this.tagWriter != null, "No TagWriter set");
	this.tagWriter.endTag();
	return EVAL_PAGE;
}
 
/**
 * Process the given form field through a {@link RequestDataValueProcessor}
 * instance if one is configured or otherwise returns the same value.
 */
protected final String processFieldValue(@Nullable String name, String value, String type) {
	RequestDataValueProcessor processor = getRequestContext().getRequestDataValueProcessor();
	ServletRequest request = this.pageContext.getRequest();
	if (processor != null && request instanceof HttpServletRequest) {
		value = processor.processFormFieldValue((HttpServletRequest) request, name, value, type);
	}
	return value;
}
 
protected RequestDataValueProcessor getMockRequestDataValueProcessor() {
	RequestDataValueProcessor mockProcessor = mock(RequestDataValueProcessor.class);
	HttpServletRequest request = (HttpServletRequest) getPageContext().getRequest();
	WebApplicationContext wac = RequestContextUtils.findWebApplicationContext(request);
	wac.getBean(RequestDataValueProcessorWrapper.class).setRequestDataValueProcessor(mockProcessor);
	return mockProcessor;
}
 
源代码21 项目: java-technology-stack   文件: FormTag.java
/**
 * Process the action through a {@link RequestDataValueProcessor} instance
 * if one is configured or otherwise returns the action unmodified.
 */
private String processAction(String action) {
	RequestDataValueProcessor processor = getRequestContext().getRequestDataValueProcessor();
	ServletRequest request = this.pageContext.getRequest();
	if (processor != null && request instanceof HttpServletRequest) {
		action = processor.processAction((HttpServletRequest) request, action, getHttpMethod());
	}
	return action;
}
 
源代码22 项目: java-technology-stack   文件: FormTag.java
/**
 * Closes the '{@code form}' block tag and removes the form object name
 * from the {@link javax.servlet.jsp.PageContext}.
 */
@Override
public int doEndTag() throws JspException {
	RequestDataValueProcessor processor = getRequestContext().getRequestDataValueProcessor();
	ServletRequest request = this.pageContext.getRequest();
	if (processor != null && request instanceof HttpServletRequest) {
		writeHiddenFields(processor.getExtraHiddenFields((HttpServletRequest) request));
	}
	Assert.state(this.tagWriter != null, "No TagWriter set");
	this.tagWriter.endTag();
	return EVAL_PAGE;
}
 
/**
 * Process the given form field through a {@link RequestDataValueProcessor}
 * instance if one is configured or otherwise returns the same value.
 */
protected final String processFieldValue(@Nullable String name, String value, String type) {
	RequestDataValueProcessor processor = getRequestContext().getRequestDataValueProcessor();
	ServletRequest request = this.pageContext.getRequest();
	if (processor != null && request instanceof HttpServletRequest) {
		value = processor.processFormFieldValue((HttpServletRequest) request, name, value, type);
	}
	return value;
}
 
protected RequestDataValueProcessor getMockRequestDataValueProcessor() {
	RequestDataValueProcessor mockProcessor = mock(RequestDataValueProcessor.class);
	HttpServletRequest request = (HttpServletRequest) getPageContext().getRequest();
	WebApplicationContext wac = RequestContextUtils.findWebApplicationContext(request);
	wac.getBean(RequestDataValueProcessorWrapper.class).setRequestDataValueProcessor(mockProcessor);
	return mockProcessor;
}
 
源代码25 项目: lams   文件: FormTag.java
/**
 * Process the action through a {@link RequestDataValueProcessor} instance
 * if one is configured or otherwise returns the action unmodified.
 */
private String processAction(String action) {
	RequestDataValueProcessor processor = getRequestContext().getRequestDataValueProcessor();
	ServletRequest request = this.pageContext.getRequest();
	if (processor != null && request instanceof HttpServletRequest) {
		action = processor.processAction((HttpServletRequest) request, action, getHttpMethod());
	}
	return action;
}
 
源代码26 项目: lams   文件: FormTag.java
/**
 * Closes the '{@code form}' block tag and removes the form object name
 * from the {@link javax.servlet.jsp.PageContext}.
 */
@Override
public int doEndTag() throws JspException {
	RequestDataValueProcessor processor = getRequestContext().getRequestDataValueProcessor();
	ServletRequest request = this.pageContext.getRequest();
	if ((processor != null) && (request instanceof HttpServletRequest)) {
		writeHiddenFields(processor.getExtraHiddenFields((HttpServletRequest) request));
	}
	this.tagWriter.endTag();
	return EVAL_PAGE;
}
 
源代码27 项目: lams   文件: AbstractDataBoundFormElementTag.java
/**
 * Process the given form field through a {@link RequestDataValueProcessor}
 * instance if one is configured or otherwise returns the same value.
 */
protected final String processFieldValue(String name, String value, String type) {
	RequestDataValueProcessor processor = getRequestContext().getRequestDataValueProcessor();
	ServletRequest request = this.pageContext.getRequest();
	if (processor != null && (request instanceof HttpServletRequest)) {
		value = processor.processFormFieldValue((HttpServletRequest) request, name, value, type);
	}
	return value;
}
 
源代码28 项目: spring4-understanding   文件: FormTag.java
/**
 * Process the action through a {@link RequestDataValueProcessor} instance
 * if one is configured or otherwise returns the action unmodified.
 */
private String processAction(String action) {
	RequestDataValueProcessor processor = getRequestContext().getRequestDataValueProcessor();
	ServletRequest request = this.pageContext.getRequest();
	if (processor != null && request instanceof HttpServletRequest) {
		action = processor.processAction((HttpServletRequest) request, action, getHttpMethod());
	}
	return action;
}
 
源代码29 项目: spring4-understanding   文件: FormTag.java
/**
 * Closes the '{@code form}' block tag and removes the form object name
 * from the {@link javax.servlet.jsp.PageContext}.
 */
@Override
public int doEndTag() throws JspException {
	RequestDataValueProcessor processor = getRequestContext().getRequestDataValueProcessor();
	ServletRequest request = this.pageContext.getRequest();
	if ((processor != null) && (request instanceof HttpServletRequest)) {
		writeHiddenFields(processor.getExtraHiddenFields((HttpServletRequest) request));
	}
	this.tagWriter.endTag();
	return EVAL_PAGE;
}
 
/**
 * Process the given form field through a {@link RequestDataValueProcessor}
 * instance if one is configured or otherwise returns the same value.
 */
protected final String processFieldValue(String name, String value, String type) {
	RequestDataValueProcessor processor = getRequestContext().getRequestDataValueProcessor();
	ServletRequest request = this.pageContext.getRequest();
	if (processor != null && (request instanceof HttpServletRequest)) {
		value = processor.processFormFieldValue((HttpServletRequest) request, name, value, type);
	}
	return value;
}