我正在编写一个验证器,需要测试弹簧形式对象是否已更改.
在验证程序中,如果未对表单进行任何更改,则应显示错误.
有弹簧机制吗?
这是因为我提交时会进行非常昂贵的Web服务更新调用,如果没有进行任何更改,我需要阻止进行webservice调用.
干杯.
首先,我使用spring webflow和一些spring javascript来简化ajax调用.
截至目前,我正在让ajax调用webflow来显示相应的片段.
所以我试图使用Spring.AjaxEventDecoration来满足我的应用程序的ajax需求.但是,我在使用这种方法和Webflow时遇到了一些麻烦,而且据我所知,可用的例子非常少.
另外,我没有使用表格或选择框.我想我会提到这个,因为我发现的每个例子都使用带有onlick事件的表单/表单提交或带有onchange事件的选择框.
主要问题:如果我的webflow中有一个方法来自我的ajax,我是否可以将参数从ajax传递到webflow?
码:
<transition on="disassociateProperty" >
<evaluate expression="dService.disassociateProperty(requestParameters.currentPId ,currentD)" result="flowScope.currentD" />
<render fragments="PList" />
</transition>
Run Code Online (Sandbox Code Playgroud)
所以,当我在firebug中查看ajax调用时,它具有我传入的参数(currentPId)和正确的eventId.
我在disassociateProperty方法的第一行放了一个调试点,它告诉我currentPId为null.
所以我假设webflow中的requestParameters.currentPId没有从ajax调用中提取currentPId.
这是预期的吗?任何人都可以解释并举例说明吗?
我将不胜感激任何帮助.
亚当
我正在尝试为具有子流的流编写单元测试,该子流本身具有另一个子流.
我使用注册第一流程
FlowDefinitionResource getResource(FlowDefinitionResourceFactory resourceFactory).
然后我FlowDefinitionRegistry在转换到它们之前在测试执行期间注册子流定义.
转换到"第一级"子流程就可以了.转换到当前子流的子流的结果 - NoSuchFlowDefinitionException.
问题是子流定义似乎都附加到测试的主要流程,并且在另一个子流程中找不到子流程.
有没有办法将子流定义附加到测试中的另一个子流,哪些扩展AbstractXmlFlowExecutionTests?
我的Java Web应用程序当前将某些错误代码映射到错误servlet(实际上是弹簧Web流程,但这应该是除此之外的),通过在web.xml中执行此操作:
<error-page>
<error-code>500</error-code>
<location>/spring/error?error=500</location>
</error-page>
<error-page>
<error-code>404</error-code>
<location>/spring/error?error=404</location>
</error-page>
Run Code Online (Sandbox Code Playgroud)
但是,在某些情况下,服务器仍会崩溃,并为用户提供一些例外的堆栈跟踪转储.(在IBM WebSphere btw上运行).我的问题是; 是否可以定义一个后备错误页面,如果所有其他错误都不匹配将使用该页面?因此,我们保证在任何情况下都不会以堆栈跟踪结束.
当我正在编写我的第一个grails webflow时,我问自己是否有任何工具或脚本可以使流程可视化?
结果可以是状态图或某些数据,以便在graphviz等图形工具中呈现.
我有web应用程序,其中我使用了Spring框架.对于并发会话控制,我使用spring功能,一旦用户登录到另一个会话,将只为1个用户维护1个登录会话,他/她之前的会话将过期.
现在,在这种情况下,我收到此消息" 此会话已过期(可能是由于多个并发登录尝试作为同一用户). "
但我在浏览器的完整白页上收到此消息.我希望此消息仅在我的登录屏幕上显示.
这是我的spring security xml的一部分,我处理了用户的并发会话.
<security:session-management invalid-session-url="/login.jsp?error=sessionExpired" session-authentication-error-url="/login.jsp?error=alreadyLogin">
<security:concurrency-control max-sessions="1" error-if-maximum-exceeded="false" />
</security:session-management>
Run Code Online (Sandbox Code Playgroud)
任何专门用于自定义此消息并在所需Web应用程序页面上重定向此消息的链接将不胜感激.
提前致谢.
我遇到了问题p:dataTable并排除了单行选择中的列.
我的dataTable中有4列.显示fileId,fileName和uploadDate需要前3个.在第4列中,每行都有一个命令按钮,用于启动文件处理操作.但是也有行选择(在事件上使用ajax操作)导航到文件详细信息页面.现在,当我点击行上的任何位置(包括按钮)时,它会导航到详细信息页面.
这是我目前的代码:
<h:form>
<p:dataTable id="billingFiles" value="#{billingFiles}"
var="billingFile"
rowKey="#{billingFile.billingFile.idBillingFile}"
filteredValue="#{billingService.filteredBillingFileDataModels}"
selectionMode="single" paginator="true" rows="10">
<p:ajax event="rowSelect" listener="#{billingService.selectBillingFileRow}" />
<p:column sortBy="#{billingFile.id}"
filterBy="#{billingFile.id}" id="idFile"
headerText="#{msg['billing.file.id']}"
filterMatchMode="contains">
<h:outputText value="#{billingFile.id}" />
</p:column>
<p:column sortBy="#{billingFile.uploadDate}"
filterBy="#{billingFile.uploadDate}" id="uploadDate"
headerText="#{msg['billing.file.upload_date']}"
filterMatchMode="contains">
<h:outputText value="#{billingFile.uploadDate}" />
</p:column>
<p:column sortBy="#{billingFile.fileName}"
filterBy="#{billingFile.fileName}" id="fileName"
headerText="#{msg['billing.file.file_name']}"
filterMatchMode="contains">
<h:outputText value="#{billingFile.fileName}" />
</p:column>
<p:column id="loadBillingFile">
<p:commandButton id="loadBillingFileButton"
rendered="#{billingFile.fileStatus.equals('UPLOADED')}"
value="#{msg['billing.load_billing_file']}"
action="#{billingService.loadBillingFile(billingFile.billingFile)}"
update=":form" />
</p:column>
</p:dataTable>
</h:form>
Run Code Online (Sandbox Code Playgroud)
并且有导航到文件详细信息页面的方法:
public void selectBillingFileRow(SelectEvent event) {
BillingFileDataModel billingFileDataModel = (BillingFileDataModel) event.getObject();
if (billingFileDataModel != null) {
selectedBillingFile = billingFileDAO.findBillingFileById(billingFileDataModel.getBillingFile().getIdBillingFile()); …Run Code Online (Sandbox Code Playgroud) 我的目标是以下所有URI都应该有效
https://开头休息/ XYZ?sort = name
https://开头休息/ XYZ?排序 =名称
https://开头休息/ XYZ?filter = name = value
https://开头休息/ XYZ?Filter = name = value
为此,我创建了自定义过滤器来覆盖传递给FilterChain的HttpServletRequest.以下是此方法的链接:
http://forum.springsource.org/archive/index.php/t-87433.html
我的代码:
import java.io.IOException;
import java.util.Map;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletRequestWrapper;
public class HttpCustomParamFilter implements Filter
{
private static class HttpServletRequestCustomeWrapper extends HttpServletRequestWrapper
{
private String[] parameterValues;
@Override
public String[] getParameterValues(String name)
{
Map<String, String[]> localParameterMap = super.getParameterMap();
// Handle case insensitivity of http …Run Code Online (Sandbox Code Playgroud) Apache Tiles 2.1.3具有通配符功能,其中tile定义包含星号:
<definition name="flow/*" extends=".mainTemplate">
<put-attribute name="header" value="/WEB-INF/jsp/header.jsp" />
<put-attribute name="body" value="/WEB-INF/jsp/flow/{1}.jsp" />
</definition>
Run Code Online (Sandbox Code Playgroud)
这里解释了,但基本上这个布局用于"flow"目录中的任何JSP.
问题是Spring Webflow用Tiles产生了无限递归:
org.springframework.webflow.execution.FlowExecutionException: Exception thrown in state 'createAccount' of flow 'jsp/flow'
Caused by: java.lang.IllegalStateException: Exception occurred rendering view null
Caused by: java.lang.NullPointerException
Run Code Online (Sandbox Code Playgroud)
我最终插入了许多单独的Tiles定义,而不是一个通配符定义(在这里插入frowny face).
Tiles通配符如何与Spring WebFlow一起使用?
我正在为我的一个客户端使用Spring Web Flow,默认情况下,为网站启用了Post-Redirect-Get(PRG)配置.客户现在希望启用Google广告系列,以便他们跟踪他们发布的广告系列.但是,由于PRG配置,重定向期间信息丢失.我们已经尝试关闭PRG配置,但它会导致其他流程出现问题.是否有任何针对Spring Web流程建议的解决方案来跟踪Google广告系列.
提前致谢.
PS:我们目前正在使用spring-webflow-2.0.9和spring MVC 2.5.6
spring-webflow ×10
java ×6
spring ×4
java-ee ×2
ajax ×1
datatable ×1
grails ×1
jsf ×1
jsp ×1
junit ×1
primefaces ×1
rest ×1
spring-mvc ×1
tiles ×1
unit-testing ×1
web.xml ×1