小编Cri*_*riu的帖子

无法找到MessageBodyReader

我有这个界面:

 @Path("inbox")
public interface InboxQueryResourceTest {

    @POST
    @Path("{membershipExternalId}/query")
    @Consumes(MediaType.APPLICATION_XML)
    @Produces("multipart/mixed")
    public MultipartOutput query(@PathParam("membershipExternalId") final String membershipExternalId,
                             @QueryParam("page") @DefaultValue("0") final int page,
                             @QueryParam("pageSize") @DefaultValue("10") final int pageSize,
                             @QueryParam("sortProperty") final List<String> sortPropertyList,
                             @QueryParam("sortReversed") final List<Boolean> sortReversed,
                             @QueryParam("sortType") final List<String> sortTypeString,
                             final InstanceQuery instanceQuery) throws IOException;
}
Run Code Online (Sandbox Code Playgroud)

我已经实现了返回MultipartOutput的方法.我从Fiddler发布了一个xml查询,我收到的结果没有任何问题.

但我已经为同一个界面做了一个集成测试,我发送相同的对象,我把响应像:

final MultipartOutput multiPartOutput = getClient().query(getUserRestAuth(), 0, 25, null, null, null, instanceQuery);
Run Code Online (Sandbox Code Playgroud)

但是在这里,所以从集成测试中,我收到一个奇怪的错误:

无法找到内容类型为multipart/mixed的BorderBodyReader; boundary ="74c5b6b4-e820-452d-abea-4c56ffb514bb"并键入类org.jboss.resteasy.plugins.providers.multipart.MultipartOutput

任何人都有任何想法为什么只有在集成测试中我收到此错误?

PS:有些人会说我不发送application/xml作为ContentType而是发送multipart,这当然是假的,因为对象是用所需的@XmlRootElement等注释的,否则Fiddler的POST都不会起作用.

java jax-rs jaxb resteasy

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

将参数传递给用户控件 - asp.net

我有这个用户控件:

<user:RatingStars runat="server" product="<%= getProductId() %>" category="<%= getCategoryId() %>"></user:RatingStars>
Run Code Online (Sandbox Code Playgroud)

您可以通过调用两种方法来查看我填写产品和类别:

public string getProductId()
{
    return productId.ToString();
}

public string getCategoryId()
{
    return categoryId.ToString();
}
Run Code Online (Sandbox Code Playgroud)

我不明白为什么在用户控件中,当我接收到的数据(产品和类别)时,它给了我"<%= getProductId()%>"而不是给出从该方法收到的id ...

任何帮助将不胜感激......

编辑:解决方法:product ='<%#getProductId()%>'

最后一个问题:在用户控件中我有这个:

 public string productId;
 public string product
{
    get
    {
        return productId;
    }
    set
    {
        productId = value;
    }
}
Run Code Online (Sandbox Code Playgroud)

所以,我希望在用户控件中将productId设置为ok.不幸的是,当我尝试使用它时它是空的...

有什么我写的不正确吗?

c# asp.net

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

如何在Scala中定义泛型类型?

在Slick 2中,我们可以映射这样的表:

case class Cooler(id: Option[Int], minTemp: Option[Double], maxTemp: Option[Double])

/**
 * Define table "cooler".
 */
class Coolers(tag: Tag) extends Table[Cooler](tag, "cooler") {
  def id = column[Int]("id", O.PrimaryKey, O.AutoInc)
  def minTemp = column[Double]("min_temp", O.Nullable)
  def maxTemp = column[Double]("max_temp", O.Nullable)

  def * = (id.?, minTemp.?, maxTemp.?) <> (Cooler.tupled, Cooler.unapply _)
}

object Coolers {
  val tableQuery = TableQuery[Coolers]
}
Run Code Online (Sandbox Code Playgroud)

因为我有很多的表,我想为它们定义通用的方法,如find,delete,update所以我必须要定义一个超类这些方法从哪里致以对象(object Coolers extends TableUtils[Coolers, Cooler]).为了定义这些方法,我需要tableQuery在这个超类中移出我的对象,所以我尝试了它:

abstract class TableUtils[T <: Table[A] , A] …
Run Code Online (Sandbox Code Playgroud)

scala slick

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

为什么测试失败詹金斯仍然说成功?

我有一个MEAN项目.在EC2机器上使用Jenkins我使用以下shell脚本构建它:

npm install && PORT=8888 npm test
Run Code Online (Sandbox Code Playgroud)

mocha返回2(失败测试的数量),但jenkins仍然说:

完成:成功.

如果测试失败,我希望看到

完成:失败

你知道为什么它不能正常工作吗?

mocha.js node.js jenkins

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

煤层喷射将被删除?

Jacob Orshalick(Seam框架的作者:体验Java EE的演变)说:

Outjection允许您从当前上下文中获取变量,以便通过EL进行注入或访问.如果您想要松散地耦合注入相同上下文变量的几个组件(如当前用户,正在预订的酒店等),这将非常有用.如果你想避免注射,另一种方法是使用@Factory方法或通过以下方式将值直接设置到上下文中:Contexts.getConversationContext().set("myVarName",myVar)

另一个好处是性能.通过向上下文中输出值,您可以绕过必须通过组件来获取该值.这特别适用于带有JSF的数据表(参见本讨论).但是,正如您将在讨论中看到的那样,您还可以使用@BypassInterceptors来实现相同的好处.

出局确实是一种便利,但通过其他方式肯定可以实现同样的好处.请注意,Web Bean中不包含outjection,并且将在Seam 3中弃用或完全删除,因此这是在可能的情况下避免使用它的进一步理由.

我们有一个很多注射的应用程序,我们已经开始摆脱它们.他说:

但通过其他手段肯定可以实现同样的好处.

但这些是其他手段吗?如何删除注射?例如,在ASP.NET中,您有会话变量.在Seam中,您可以在会话中输出var(在某些情况下是一种好处).

或者页面范围:(例如在jsf循环中,多次调用辅助bean(有时).你有一个从accountId页面参数加载的帐户.你可以加载帐户,用页面范围输出它,你可以使用它的属性很大.或者(为了避免出现)是有一个loadAccount()方法,你可以在需要时从数据库中获取帐户...最糟糕的!)

我不认为:

Contexts.getConversationContext().set("myVarName", myVar)
Run Code Online (Sandbox Code Playgroud)

是一种如何避免注射的方法.

这只会调用保存输出变量的相同上下文,并以深刻的方式修改它(我认为这正是@Out在后台执行的操作).

问题1:你认为他们的意图是什么?您是否有关于如何更换它的具体信息?

问题2:你如何避免使用注射?

提前致谢.

java jsf seam

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

奇怪的"字符串索引超出范围:0"错误

我有一个巨大的应用程序,在某些时候,当涉及重定向时,我收到了这个奇怪的错误:

Caused by java.lang.StringIndexOutOfBoundsException with message: "String index out of range: 0"    
java.lang.String.charAt(String.java:687)
com.sun.faces.application.ViewHandlerImpl.getActionURL(ViewHandlerImpl.java:652)
org.jboss.seam.jsf.SeamViewHandler.getActionURL(SeamViewHandler.java:74)
com.sun.facelets.FaceletViewHandler.getActionURL(FaceletViewHandler.java:803)
org.ajax4jsf.application.ViewHandlerWrapper.getActionURL(ViewHandlerWrapper.java:86)
org.jboss.seam.ui.util.ViewUrlBuilder.<init>(ViewUrlBuilder.java:25)
org.jboss.seam.ui.component.UISeamCommandBase.getUrl(UISeamCommandBase.java:48)
org.jboss.seam.ui.renderkit.LinkRendererBase.doEncodeBegin(LinkRendererBase.java:26)
org.jboss.seam.ui.util.cdk.RendererBase.encodeBegin(RendererBase.java:79)
javax.faces.component.UIComponentBase.encodeBegin(UIComponentBase.java:813)
javax.faces.component.UIComponent.encodeAll(UIComponent.java:934)
javax.faces.component.UIComponent.encodeAll(UIComponent.java:942)
javax.faces.component.UIComponent.encodeAll(UIComponent.java:942)
com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:592)
org.ajax4jsf.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:100)
org.ajax4jsf.application.AjaxViewHandler.renderView(AjaxViewHandler.java:176)
com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:109)
com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:266)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:83)
org.jboss.seam.web.RewriteFilter.doFilter(RewriteFilter.java:63)
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
org.jboss.seam.web.IdentityFilter.doFilter(IdentityFilter.java:40)
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:90)
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:64)
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:45)
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:73)
org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:178)
org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290)
org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:388)
org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:515)
org.jboss.seam.web.Ajax4jsfFilter.doFilter(Ajax4jsfFilter.java:56)
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:60)
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
org.jboss.seam.web.HotDeployFilter.doFilter(HotDeployFilter.java:53)
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:158)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:182)
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:432)
org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
java.lang.Thread.run(Thread.java:619)
Run Code Online (Sandbox Code Playgroud)

我花了两个小时调试等等,但没有找到任何线索...这只是奇怪,因为错误日志没有告诉清楚......(哪个字符串,涉及哪个属性等).

有没有人能从堆栈跟踪中猜出更多内容?

谢谢.

java jsf seam

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

替换与正则表达式中的字符不匹配的字符

我有这个正则表达式:

private static final String SPACE_PATH_REGEX ="[a-z|A-Z|0-9|\\/|\\-|\\_|\\+]+";
Run Code Online (Sandbox Code Playgroud)

我检查我的字符串是否匹配此正则表达式,如果不是,我想用"_"替换所有不在这里的字符.

我尝试过:

private static final String SPACE_PATH_REGEX_EXCLUDE =
        "[~a-z|A-Z|0-9|\\/|\\-|\\_|\\+]+";
if (myCompanyName.matches(SPACE_PATH_REGEX)) {
    myNewCompanySpaceName = myCompanyName;
} else{
    myNewCompanySpaceName = myCompanyName.replaceAll(
            SPACE_PATH_REGEX_EXCLUDE, "_");
}
Run Code Online (Sandbox Code Playgroud)

但是它不起作用......所以在第二个正则表达式"〜"似乎没有省略以下的字符.

任何的想法?

java regex

5
推荐指数
2
解决办法
4821
查看次数

带参数的web.xml登录页面?

我有一个jsf Web应用程序,在我的web.xml中我有这个配置:

<login-config>
  <auth-method>FORM</auth-method>
  <form-login-config>
   <form-login-page>/mainLoginPage.jsp</form-login-page>
   <form-error-page>/mainLoginPage.jsp?error=true</form-error-page>
  </form-login-config>
</login-config>
Run Code Online (Sandbox Code Playgroud)

好吧,所有的作品都适用于网址:

http://localhost:8080/mainLoginPage.jsp
Run Code Online (Sandbox Code Playgroud)

但我想也有可能为这个mainLoginPage追加url参数,例如:

http://localhost:8080/mainLoginPage.jsp?co=google
Run Code Online (Sandbox Code Playgroud)

所以,基于公司用户,mainLoginPage将为不同的公司执行不同登录页面的redict.

如果我尝试上面的参数化url它将无法工作,因为它"认为"我请求另一个页面并且没有登录它将我重定向到默认的login.jsp.

问题:有没有办法在web.xml中指定它应该让我为这个mainLoginPage添加params而不是像我为错误页面那样在web xml中对它们进行硬编码?

谢谢.

java security

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

asp.net - 使用 js 执行 AsyncPostBack

我花了将近3个小时来处理以下案例:

  • 我想从 JavaScript 触发 AsyncPostBack 但也能够发送相同的参数,因为我在服务器端需要它。

我尝试了很多情况,但找不到明确的例子。

我有一个更新面板,当我按下其中的特定图像按钮时,会显示一些弹出窗口。(弹出窗口最初是隐藏的,当请求完成时,被display:none删除=>它看起来很好)

 function BeginRequestHandler(sender, args) {
    }
    function EndRequestHandler(sender, args) {
        document.getElementById('popup').style.display = '';
        document.getElementById('overlay').style.display = '';

    }
Run Code Online (Sandbox Code Playgroud)

好吧,问题是我需要创建一个 js 函数来执行 asyncPostBack,因为当单击该控件的某些部分时将从 Flash 控件调用该 js 函数,因此我想模拟对图像的单击。(因为单击此弹出窗口会显示如上所示)

问题是我无法在任何地方找到这样的例子。这个js函数将接收一个参数,因此当我进行回发时,我希望能够在服务器端获取该参数。(这个参数似乎是主要问题=-当我进行回发时如何将其发送到服务器?)。

抱歉,如果我不太清楚,但是您能给我一些有关此内容或示例的文档吗?

多谢!

更新: 请注意我已经完成的第一个案例,在我的 UpdatePanel 中使用 ImageButton:

<asp:ImageButton ID="lnkDetails" runat="server" ImageUrl='<%# DataBinder.Eval(Container.DataItem, "Logo") %>'
                            AlternateText='<%# DataBinder.Eval(Container.DataItem, "Name") %>' OnCommand="lnkDetails_Command"
                            CommandArgument='<%# DataBinder.Eval(Container.DataItem, "TenantID") %>' Text="Click">
                        </asp:ImageButton></li>
Run Code Online (Sandbox Code Playgroud)

我只需要“模拟”此点击,使用 javascript 进行异步回发(因为当我从 flash 调用时,flash 控件将调用我的 js 方法进行回发)

javascript asp.net ajax asp.net-ajax

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

为什么validationEngine()不起作用?

我试图使这个联系表格与验证引擎一起工作.

我无法理解为什么在按下"提交"按钮时不会触发验证.我已经花了一个多小时做调试等等.

你可以注意到我的表单的输入元素有class="validate[required]",我也将表单绑定到验证引擎:

<script type="text/javascript">
    $(document).ready(function(){
        // binds form submission and fields to the validation engine
        $("#registerForm").validationEngine();
    });
</script>
Run Code Online (Sandbox Code Playgroud)

你看到我做错了吗?这个jQuery插件的演示工作页面就在这里.

validation jquery

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