无法从复合组件中找到匹配的导航案例

我有一个复合组件按钮,操作来自一个属性。 当我创建按钮时,操作来自我的控制器。 然后我有一个导航规则,寻找myController.doSomething #{myController.doSomething} success /pages/test1.xhtml 问题是,当我点击按钮时,操作来自#{cc.attrs.action},因此我收到以下错误 Unable to find matching navigation case with from-view-id ‘/pages/test.xhtml’ for action ‘#{cc.attrs.action}’ with outcome ‘success’ 我怎么能绕过这个?

连续输入命令

我的程序将以“ command parameter ”的forms读取用户键盘命令,其间有空格。 它一直执行单独的命令,直到下一个命令“ exit ”。 此外,如果用户搞砸了,程序应该显示错误但继续询问命令(我认为我没有完成的function).. 以下代码是实现此function的好方法吗? 它可以处理用户只需按下输入键w / oa命令,垃圾输入等? 如果有的话,我很想知道是否有更好的惯用方式来实现这一点。 String command = “”; String parameter = “”; Scanner dataIn = new Scanner(System.in); while (!command.equals(“exit”)) { System.out.print(“>> “); command = dataIn.next().trim(); parameter = dataIn.next().trim(); //should ^ these have error handling? if (command.equals(“dothis”)) { //do this w/ parameter.. } else if (command.equals(“dothat”)) { […]

使用Tuckey URL Rewrite时获取查询字符串

我有以下规则: ^/users/(.*)$ /users.do$1 我想匹配以下url: http://localhost:8077/users/?elemsPerPage=10 并将其重定向到: http://localhost:8077/users.do?elemsPerPage=10 问题是当url rewriter引擎找到“?”时 url中的字符在$ 1匹配参数中不返回任何其他内容。 它既不会将参数添加到查询字符串中。 有任何想法吗?

使用RXJava 2对Realm进行异步读/写

我第一次使用RXJava 2实现异步操作 目标: 使用库Retrofit2从服务器获取json数据。 如果成功,则将数据写入Realm并在记录后立即获取数据并发送到RecyclerView的适配器。 所以,我用这种方式意识到了这一切: private void fetchChatsFromNetwork(int count, AccessDataModel accessDataModel) { String accessToken = accessDataModel.getAccessToken(); MyApplication.getRestApi().getChats(count, accessToken, Constants.api_version) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribeWith(new DisposableSubscriber() { @Override public void onNext(ChatsModel chatsModel) { if (chatsRepository.hasData()) { chatsRepository.updateChatsData(chatsModel) .subscribe(new DisposableObserver() { @Override public void onNext(ChatsModel localChatsModel) { Log.d(TAG, “DO, onSuccess updated!”); iGetChatsCallback.onGetChatsSuccess(localChatsModel); } @Override public void onError(Throwable e) […]

如何在java中实现类级别锁定?

我知道锁定概念与静态和非静态方法同步分别锁定类和实例。 我无法理解的是,如何实现class级锁定? 我的意思是,课程只是一个模板,没有任何物理意义。 那么,当我们说通过同步静态方法实现类级别锁定时会发生什么呢? 该类的所有对象是否被锁定或其他进程? 我可以通过搜索找到的是有类对象(Class.class)并且在此类对象上获取了锁。 但那个class级的所有实例也是如何锁定的呢?

如何通过JNI设置我的Class的“Double”类型变量的值?

如果我只想将值设置为Double类型变量,我可能会像: public static native int getDoubleVar(Double dobj); JNIEXPORT jint JNICALL test_jni_Native_testGet(JNIEnv *env, jclass type, jobject dobj) { jclass DoubleClass = env->FindClass(“java/lang/Double”); jfieldID valueID = env->GetFieldID(DoubleClass, “value”, “D”); env->SetDoubleField(dobj, valueID, 2.3); return 0; } 这些代码有效。 但是,当我试图通过JNI设置一个类的“Double”变量的值时,我无法得到我想要的东西,当然,它崩溃了,这让我有点困惑。 Java代码: public class TestDouble { public Double value; public long num; public TestDouble(long num, Double value) { this.num = num; […]

根据maven android构建配置文件更新应用程序名称和徽标

这是我的清单文件 <!– –> Pom文件 com.jayway.maven.plugins.android.generation2 android-maven-plugin 3.8.0 net.sf.proguard proguard-base ${proguard.version} manifestUpdate process-resources manifest-update alignApk package zipalign true false false false ${project.build.directory}/${project.artifactId}-${project.version}.apk ${project.build.directory}/${project.artifactId}-${project.version}-signed-aligned.apk false false true ${proguard.config} -Xms512m -Xmx1024m CrewApp-CD 我想基于我选择构建Android项目的maven配置文件来控制应用程序的名称和徽标。 这是一个受支持的function,如果是这样,我们如何做到这一点?

paintComponent无法正常工作

这可能是一个愚蠢的问题,但我如何调用paintComponent? 它根本不显示对象。 它在公共类Ball内扩展了JPanel实现的Runnable。 public class Balls { public static void main(String[] args) { new Balls(); } public Balls() { EventQueue.invokeLater(new Runnable() { public void run() { JFrame frame = new JFrame(“Balls!”); frame.setDefaultCloseOperation(frame.EXIT_ON_CLOSE); frame.add(new ballAdder()); frame.setSize(1000, 1000); frame.setVisible(true); } }); } public class ballAdder extends JPanel { public ballAdder() { add(new Ball(5, 5)); } } public […]

kafka KStream – 采用n秒计数的拓扑

我有一个JSON对象流,我键入一些值的哈希值。 我希望在n秒(10?60?)间隔内按键计数,并使用这些值进行一些模式分析。 我的拓扑: K->aggregateByKey(n seconds)->process() 在这个process – init()步骤Ive调用了ProcessorContent.schedule(60 * 1000L) ,希望调用.punctuate() 。 从这里开始,我将遍历内部哈希中的值并相应地执行操作。 我看到值通过聚合步骤并命中process()函数,但永远不会调用.punctuate() 。 码: KStreamBuilder kStreamBuilder = new KStreamBuilder(); KStream opxLines = kStreamBuilder.stream(TOPIC); KStream mapped = opxLines.map(new ReMapper()); KTable<Windowed, String> ktRtDetail = mapped.aggregateByKey( new AggregateInit(), new OpxAggregate(), TimeWindows.of(“opx_aggregate”, 60000)); ktRtDetail.toStream().process(new ProcessorSupplier<Windowed, String>() { @Override public Processor<Windowed, String> get() { return new AggProcessor(); } […]

仅在运行时知道类型时使用Javagenerics

请考虑以下代码: public class Generics { C c; // initialized at runtime public void testGenericsCall(Object o) { c.myMethod(o); } } class C { public void myMethod(E input) { } } 这是有效的,但我收到警告,因为参数化的类C与原始类型一起使用。 我不能使用像这样的声明 C c; 因为C的类型仅在运行时才知道。 我也无法在类Generics中添加类型参数,因为我需要在知道C类型之前创建此类的对象。 C c; 要么 C c; 对于编译器来说没关系,但是然后方法testGenericsCall不能编译( “实际参数java.lang.Object无法通过方法调用转换转换为捕获#1?” ) 处理这种情况的最佳方法是什么? 编辑 :请注意,当我实际(在运行时)创建C的实例时,我知道它的类型参数,这部分代码是类型安全的并且运行良好。 在实际代码中,我没有一个单独的“C”类,而是一系列相互关联的类,并且generics绝对有用(即使在这个简化的例子中这并不明显 – 所以请不要只告诉我不要使用generics:)。 我已经有了编译时类型安全,但不是在这里,而是在C和其他类之间(这里没有显示)。 我看到在这种情况下我不能在编译时检查类型参数,这就是为什么我试图声明它C c 。 在这里, 我只是寻找在没有编译器警告的情况下桥接通用和非通用代码的最佳方法。