小编per*_*ian的帖子

Android登录 - 最佳实施

我打算实现一个需要登录屏幕的Android应用程序.

如果用户打开活动,则会发生以下情况:

  1. 如果用户已登录,请转到3
  2. 如果用户未登录,请打开登录屏幕并执行登录
  3. 显示我的申请内容

那么,实施登录的"正确"方式是什么?

  1. 实现一个StartActivity是同名但检查如果用户登录,实现一个LoginActivity实现日志记录和ApplicationActivity实际实现的应用逻辑?
  2. 只使用一个Activity并使用我根据应用程序状态显示的多个视图来处理登录?

是否有针对此方案的示例或教程?

mobile android login

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

使用JMeter中值列表中的请求值

我相信我过去已经做过这件事,但不知怎的,我无法弄清楚如何;-)所以,这是我的问题:

我正在尝试创建一个JUnit测试计划,其中每次迭代都会通过更改特定参数来修改HTTP请求.因此,例如在五次迭代中,我希望进行以下HTTP请求:

http://localhost:8080/test/foo.html?id=1
http://localhost:8080/test/foo.html?id=2
http://localhost:8080/test/foo.html?id=3
http://localhost:8080/test/foo.html?id=4
...
Run Code Online (Sandbox Code Playgroud)

我想为测试计划全局配置标识符值,并在HTTP请求采样器中使用它们,如下所示:

Path: /test/foo.html?id=${categoryId}
Run Code Online (Sandbox Code Playgroud)

现在的问题:我如何配置标识符值全局(我希望使用StringFromFile),以及如何引用它们的采样?

java testing web-testing jmeter

18
推荐指数
3
解决办法
4万
查看次数

Spring MVC自定义方法参数绑定

我正在寻找一种方法来自定义默认的Spring MVC参数绑定.以此方法为例:

@RequestMapping(value="/index.html")
public ModelAndView doIndex(@RequestParam String param) {
  ...
Run Code Online (Sandbox Code Playgroud)

这很简单,当我只想String要从请求中提取时.但是,我想填充一个更完整的对象,以便我的方法如下所示:

@RequestMapping(value="/index.html")
public ModelAndView doIndex(Foo bar) {
  ...
Run Code Online (Sandbox Code Playgroud)

我正在寻找的是一种声明像这样的绑定的方法;

@RequestMapping(value="/index.html")
public ModelAndView doIndex(@FooPopulator Foo bar) {
  ...
Run Code Online (Sandbox Code Playgroud)

并有一些其他类型的实现者(由@FooPopulator注释确定)这样做:

public void doBind(Foo target, ServletRequest originalRequest) {
  target.setX(this.computeStuffBasedOn(originalRequest));
  target.sety(y);
}
Run Code Online (Sandbox Code Playgroud)

到目前为止,我已经发现了@InitBinder粘合剂注释,但我不确定这是否真的是这个版本的正确选择.

什么是最好的方式?

java data-binding spring spring-mvc

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

EGit自动添加新文件

当在EGit eclipse插件中执行一组文件的提交时,我总是必须在提交对话框中手动添加新文件

提交对话框

有没有办法以某种方式配置插件,自动添加新文件是默认设置?

eclipse git egit

11
推荐指数
1
解决办法
5408
查看次数

使用CDI @Inject注入Spring bean

我正在尝试将Spring上下文中定义的bean注入CDI托管组件,但我没有成功.不注入bean,而是每次执行注入时都会创建一个新实例.我的环境是使用JBoss Weld的Tomcat 7.

Spring ApplicationContext是直截了当的:

<beans>
  ...
  <bean id="testFromSpring" class="test.Test" />
  ...
</bean>
Run Code Online (Sandbox Code Playgroud)

CDI托管bean看起来像这样:

@javax.inject.Named("testA")
public class TestA {

  @javax.inject.Inject
  private Test myTest = null;

  ...

  public Test getTest() {
    return this.myTest;
  }

}
Run Code Online (Sandbox Code Playgroud)

这是我的 faces-config.xml

<faces-config xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_2_0.xsd" version="2.0">
  <application>
    <el-resolver>org.springframework.web.jsf.el.SpringBeanFacesELResolver</el-resolver>
  </application>
</faces-config>
Run Code Online (Sandbox Code Playgroud)

但是,当我test从JSF页面访问该属性时,Test每次访问时都会创建一个新实例.这是一个简单的例子:

<html>
  ...
  <p>1: <h:outputText value="#{testFromSpring}" /></p>
  <p>2: <h:outputText value="#{testA.test}" /></p>
  ...
Run Code Online (Sandbox Code Playgroud)

我得到以下输出:

1: test.Test@44d79c75
2: test.Test@53f336eb
Run Code Online (Sandbox Code Playgroud)

刷新后:

1: test.Test@44d79c75
2: test.Test@89f2ac63
Run Code Online (Sandbox Code Playgroud)

我可以看到第一个输出是正确的.无论我多久刷新一次页面,都会testFromSpring返回Spring上下文中定义的bean的值.但是第二个输出清楚地表明,每次调用组件getTest上的方法时test,Test …

java jsf spring cdi jboss-weld

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

使用JSTL标记转义JSP EL(点字符)

一些框架(Spring,Tomcat本身)添加了默认情况下不能在EL表达式中使用的servlet请求属性.一个例子是

javax.servlet.forward.context_path = /myWebapp
Run Code Online (Sandbox Code Playgroud)

所以,为了使用JSTL获取值,我通常会使用

<c:out value="${javax.servlet.forward.context_path}" />
Run Code Online (Sandbox Code Playgroud)

但是这不起作用,因为EL解析器期望javax是对象A的关键并且servlet是该对象的属性(等等).

所以我的问题是:如何逃脱点角色?

我试过用了

<c:out value="${javax\.servlet\.forward\.context_path}" />
Run Code Online (Sandbox Code Playgroud)

但这也不起作用,并从EL解析器引发错误.

我知道在处理地图时我可以使用类似的东西

<c:out value="${aMap['key.from.map.with.dots']}" />
Run Code Online (Sandbox Code Playgroud)

但是我没有使用请求中的第一级对象,因为我也尝试过使用

<c:out value="${['javax.servlet.forward.context_path']}" />
Run Code Online (Sandbox Code Playgroud)

这也不起作用.

有任何想法吗?

java jsp jstl el

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

从View中访问Spring MVC BindingResult

我正在寻找一种方法来访问BindingResult视图中的一个(在我的情况下是一个JSP页面).

我有以下控制器方法:

@RequestMapping(value="/register/accept.html",method=RequestMethod.POST)
public ModelAndView doRegisterAccept(
  @Valid @ModelAttribute("registrationData") RegistrationData registrationData,
  BindingResult bindingResult
) {

  ModelAndView modelAndView         = new ModelAndView();
  modelAndView.addObject("bindingResultXXX", bindingResult);
  modelAndView.setViewName("users/registration/register");
  return modelAndView;

}
Run Code Online (Sandbox Code Playgroud)

执行此操作时,将RegistrationData填充get并将错误存储在BindingResult.到现在为止还挺好.但是,我必须BindingResult手动将其添加到ModelAndView视图中以使其可见.

有没有办法自动添加BindingResult到模型中?我已经尝试将方法签名调整为

public ModelAndView doRegisterAccept(
  @Valid @ModelAttribute("registrationData") RegistrationData registrationData,
  @ModelAttribute("bindingResult") BindingResult bindingResult
) {
Run Code Online (Sandbox Code Playgroud)

我希望 - 作为任何其他参数 - BindingResult将被添加到键下的模型中bindingResult但不幸的是,这不起作用.

那么,有什么想法吗?

加成

我刚刚发现结果确实是使用密钥发布的

org.springframework.validation.BindingResult.<NAME_OF_MODEL_ATTRIBUTE>
Run Code Online (Sandbox Code Playgroud)

所以我想只是简单地用简单的名字添加它不会被春天的家伙鼓励?!

java data-binding spring spring-mvc

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

自定义Eclipse分发的默认工作区设置

我正在使用Eclipse"产品配置编辑器"创建一个自定义的Eclipse发行版.到目前为止,这很有用 - 功能/插件被导出到目标发行版中.

我现在想要的是一组默认设置,默认情况下将为自定义分发的用户提供(例如,工作区编码应设置为UTF-8而不是默认的系统编码,选项卡宽度应为设置为2而不是eclipse的默认值4,依此类推).

到目前为止,我还没有找到为自定义发行版的用户创建的新工作区配置默认设置的方法,所以我的问题是:有没有办法做到这一点,还是我必须使用默认的Eclipse设置?

eclipse eclipse-plugin eclipse-rcp

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

JSF模板文件的显式目录

我刚刚进入Seam/JSF开发并寻找一种从不同位置查找XHTML模板文件的方法.

在配置JSF应用程序时,如下所示:

<servlet>
  <servlet-name>Faces Servlet</servlet-name>
  <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
</servlet>
<servlet-mapping>
  <servlet-name>Faces Servlet</servlet-name>
  <url-pattern>*.seam</url-pattern>
</servlet-mapping>

<context-param>
  <param-name>javax.faces.DEFAULT_SUFFIX</param-name>
  <param-value>.xhtml</param-value>
</context-param>
Run Code Online (Sandbox Code Playgroud)

当我输入如下网址时:

http://localhost/test.seam
Run Code Online (Sandbox Code Playgroud)

系统加载XHTML文件

<webapp>/test.xhtml
Run Code Online (Sandbox Code Playgroud)

我想配置的是前缀目录,以便从中查找文件

<webapp>/WEB-INF/views/test.xhtml
Run Code Online (Sandbox Code Playgroud)

那么,有没有办法实现这样的事情:

<context-param>
  <param-name>javax.faces.DEFAULT_PREFIX</param-name>
  <param-value>/WEB-INF/views/</param-value>
</context-param>
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助!

java configuration jsf servlets web-applications

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

如何将“–kubelet-extra-args”传递给 Terraform aws_eks_node_group 创建的 AWS EKS 节点组?

我正在按照https://docs.aws.amazon.com/eks/latest/userguide/cni-increase-ip-addresses.html创建 EKS 托管节点组的示例进行操作

配置要求我/etc/eks/bootstrap.sh通过--kubelet-extra-args参数将附加参数传递给脚本。

我的 EKS 工作节点是通过 Terraform 资源配置的aws_eks_node_group

我找不到任何配置资源的选项来允许我传递参数--kubelet-extra-args

我是看错地方还是没有办法实现这一点?

amazon-web-services kubernetes terraform terraform-provider-aws amazon-eks

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