基于Locale的Jetty重定向

我想基于请求客户端的区域设置 – 重定向Jetty中的URL,服务器端。 即 客户端发出主机请求:port / help / index.html (’help’是webapp war) 服务器端我读取客户端语言环境,例如’ GB ‘并重定向到单独的webapp,例如* host:port / help_GB / index.html * 我认为这将像运行我的Jetty服务器的服务器端代码一样简单: – String i18nID = Locale.getDefault().getCountry(); RewriteHandler rewrite = new RewriteHandler(); rewrite.setRewriteRequestURI(true); rewrite.setRewritePathInfo(false); rewrite.setOriginalPathAttribute(“requestedPath”); RedirectRegexRule r = new RedirectRegexRule(); r.setRegex(“/help/(.*)”); r.setReplacement(“/help_” + i18nID + “/$1”); rewrite.addRule(r); server.setHandler(rewrite); 但这不起作用,我为所有’host:port / *’地址获得404s。 然后我注意到我无论如何都得到了语言环境服务器端,我想要客户端,所以我编写了自己的处理程序: – private class MyHandler […]

将JSON解析为自定义ArrayList,仅返回最后一项?

我发现这有点奇怪,我正在从我的/ assets文件夹中的文件解析一些JSON。 我已经设置了一个自定义ArrayList。 现在,当我尝试将ArrayList中的数据添加到listview或spinner(Same adapter)时,它只显示最后一项。 这是我的代码: 我的解析方法: public ArrayList parseJSON(String json) { ArrayList shop = new ArrayList(); ShopName item = new ShopName(); Log.d(TAG, json); try { JSONArray jArray = new JSONArray(json); for (int i=0; i < jArray.length();i++) { JSONObject jObject = jArray.getJSONObject(i); item.setFromCurrency(jObject.getString("from")); item.setToCurrency(jObject.getString("to")); item.setRate(jObject.getString("cost")); data.add(item); } } catch (JSONException jen) { jen.printStackTrace(); } return […]

带有Textview的Android setContentView

我是Android应用程序编程的新手,我正在阅读Google的教程: http : //developer.android.com/training/basics/firstapp/starting-activity.html 。 在此页面的“显示消息”部分下,它们创建TextView对象,并使用setContentView和textView对象作为参数,以显示一些文本。 我想知道,如果我理解正确,而不是在代码中创建TextView对象,你可以用XML定义吗? 如果用XML定义它,那还需要你创建一个除main_activity.xml之外的新XML文件吗? 谢谢。

我可以使用数组或哈希映射在页面对象模型中组织对象吗?

我是Selenium自动化的新手。 我对java有很好的了解。 我创建了用于用户注册的测试脚本。 我已经使用了页面对象模型。 这是我的页面对象脚本。 这是我用的 public class SIgnUpTest extends PageObject { @FindBy(id=”merchantName”) private WebElement merchant; @FindBy(id=”merchantCode”) private WebElement code; @FindBy(id=”categoryId”) private WebElement category; @FindBy(id=”description”) private WebElement description; @FindBy(id=”merchantLogo”) private WebElement logo; @FindBy(id=”btnNextStep1″) private WebElement Next; public SIgnUpTest(WebDriver driver) { super(driver); } public void enterName(String name, String code,String description){ this.merchant.sendKeys(name); this.code.sendKeys(code); this.description.sendKeys(description); } public void […]

把log4j.xml放在tomcat 7上的哪里?

我目前正在开发Java Struts2 webapp(使用Maven)并已成功配置数据源的使用以连接数据库。 由于May应用程序需要在环境之间移动(开发>同源化>生产),因此必须使用服务器配置文件来加载参数(例如数据源和日志级别)。 我找不到任何关于如何配置java webapp以从应用程序外部使用log4j.xml文件的引用(在WAR之外)。 使用maven我只需将log4j.xml放在我的src/main/resources文件夹中,它就会自动加载。 我该怎么做才能确保我的webapp在部署时加载外部log4j.xml文件?

Facebook原生登录使用android中的简单java类

我正在创建一个只包含java类的简单库项目。应该没有活动参与其中我按照facebook开发者页面中的教程https://developers.facebook.com/docs/android/ 基于此我试图在我的java类上实现它,如 Session.openActiveSession(a,true,new Session.StatusCallback() { @Override public void call(final Session session, final SessionState state, final Exception exception) {Log.e(“Session”,session.getAccessToken()); Log.e(“Session Status”,session.toString()); if(session.isOpened()) { Toast.makeText(c,session.getAccessToken(),Toast.LENGTH_LONG).show(); Log.e(“Access Token”,session.getAccessToken()); } else { Log.e(“Session”,”Not Opened”); } } }); 现在,当我使用记录器检查会话值时,结果是 session {state:OPENING,access_token=ACCESS_TOKEN_REMOVED} 我的要求是: 具有本机登录支持的简单库仅使用简单的Java类无活动 流程就像用户已经登录Facebook本机应用程序一样,然后我的库将从会话中检索访问令牌,否则我的web视图将继续使用facebok 我只需要facebook访问令牌

以编程方式禁用Android中的所有声音和振动

我想禁用Android设备上的所有声音和振动。 根据类似问题的答案,我目前正在使用以下代码来静音所有音频流,将铃声模式设置为静音,并假冒语音呼叫场景: AudioManager amanager=(AudioManager)getSystemService(Context.AUDIO_SERVICE); //DOESNT DISABLE ALARM CLOCK amanager.setStreamMute(AudioManager.STREAM_NOTIFICATION, true); amanager.setStreamMute(AudioManager.STREAM_ALARM, true); amanager.setStreamMute(AudioManager.STREAM_RING, true); amanager.setStreamMute(AudioManager.STREAM_SYSTEM, true); amanager.setStreamMute(AudioManager.STREAM_DTMF, true); amanager.setStreamMute(AudioManager.STREAM_MUSIC, true); amanager.setStreamMute(AudioManager.STREAM_VOICE_CALL, true); //disables vibrate and sound of ringer amanager.setRingerMode(AudioManager.RINGER_MODE_SILENT); //fakes voice call…changes alarm to single tone+vibrate amanager.setMode(AudioManager.MODE_IN_CALL); amanager.setStreamSolo(AudioManager.STREAM_VOICE_CALL, true); 这适用于禁用音乐和来电,但是,如评论中所述,android的内置闹钟应用程序仍能产生声音和振动。 有谁知道如何真正禁用所有声音和振动? 或者冒险猜测为什么闹钟应用似乎绕过音频流?

如何增加AsyncRestTemplate类的超时?

我用spring框架和REST开发了一些异步Web服务,我从使用spring类AsyncRestTemplate创建的客户端中使用它。 类返回一个对象ListenableFuture<ResponseEntity> (使用方法getForEntity ),它带来Web服务返回的值(使用方法.get(): )。 它工作正常,但是当Web服务花费很多时间时,方法isDone()的ListenableFuture类返回值true ,即使Web服务尚未完成工作。 如果我尝试使用客户端中的get()方法恢复Web服务响应并且它已经很晚了,我总是得到以下消息: “timestamp”: “2018-05-29T22:42:26.978+0000”, “status”: 500, “error”: “Internal Server Error”, “message”: “java.util.concurrent.ExecutionException: org.springframework.web.client.HttpServerErrorException: 503 null”, “path”: “/client/result” 有人知道我该如何解决这个问题? 我希望客户端向我显示Web服务响应,即使Web服务需要花费很多时间(我想增加超时)。 服务器代码如下: 配置类: @Configuration @EnableAsync public class ConfigurationClass { @Bean public Executor threadPoolTaskExecutor() { return new ThreadPoolTaskExecutor(); } } 控制器类: @RestController @RequestMapping(“/server”) public class ControllerClass { @GetMapping(“/start”) @Async public CompletableFuture callService() […]

如何将一组对象发送到需要所有对象的“id”的NamedQuery。

我正在根据从jsp页面中的多选表单元素收到的信息构建报告。 在我的存储库类中,我从该元素获取了一个对象数组。 我需要为这些对象中的每一个调用getId函数,并将这些id发送到NamedQuery 。 这是一个帮助解释的代码示例。 我知道如何处理单个对象,但是在.setParameter(1, employees[].getId())部分中丢失了.setParameter(1, employees[].getId())对象。 public List getFormInformation( Employee[] employees) throws NoDataFoundException { List resultList = getEm().createNamedQuery( “requestByRequestor.getRequestsByRequesters”, RequestByRequester.class) .setParameter(1, employees[].getId()) .getResultList(); return resultList; } 通过请求查询: SELECT EMP.EMPL_FIRST_NAME || ‘ ‘ || EMP.EMPL_LAST_NAME REQUESTER, R.RQST_ID RQST_ID, R.TITLE TITLE, R.DESCRIPTION DESCR, DECODE(R.RESOLUTION_DATE, NULL, ‘Open’, ‘Closed’) STAT FROM TARTS.REQUESTS R, SYS_EMPLOYEES EMP WHERE R.EMPL_ID_REQUESTED_BY […]

用Java打印多个RTF文件

我有一个从服务器下载的RTF文件列表。 我想一键打印所有这些.rtf文件,没有任何打印对话或只有一个。 请建议我该怎么做。 我正在使用Aspose来打印rtf文件。 请在下面找到相同的代码。 import java.io.File; import javax.print.attribute.AttributeSet; import com.aspose.words.Document; public class DocumentPrinter { public static void main(String ar[]) throws Exception{ File folder = new File(“D:\\projects\\emrs3\\PMS\\Claim\\PaperRTF”); File[] listOfFiles = folder.listFiles(); int j =3 ; for (int i = 0; i <j ; i++) { if (listOfFiles[i].isFile()) { //System.out.println("File " + listOfFiles[i].getName()); Document doc = […]