小编jon*_*ney的帖子

用于获取属性值的Xpath表达式在Java中失败

我试图从XML文件中获取属性值,但我的代码失败,但下面有例外:

11-15 16:34:42.270:DEBUG/XpathUtil(403):exception = javax.xml.xpath.XPathExpressionException:javax.xml.transform.TransformerException:额外的非法令牌:'@','source'

这是我用来获取节点列表的代码:

private static final String XPATH_SOURCE = "array/extConsumer@source";
mDocument = XpathUtils.createXpathDocument(xml);

NodeList fullNameNodeList = XpathUtils.getNodeList(mDocument,
                XPATH_FULLNAME);
Run Code Online (Sandbox Code Playgroud)

这是我的XpathUtils班级:

public class XpathUtils {

    private static XPath xpath = XPathFactory.newInstance().newXPath();
    private static String TAG = "XpathUtil";

    public static Document createXpathDocument(String xml) {
        try {

            Log.d(TAG , "about to create document builder factory");
            DocumentBuilderFactory docFactory = DocumentBuilderFactory
                    .newInstance();
            Log.d(TAG , "about to create document builder ");
            DocumentBuilder builder = docFactory.newDocumentBuilder();

            Log.d(TAG , "about to create document with …
Run Code Online (Sandbox Code Playgroud)

java xpath

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

android.database.sqlite.SQLiteConstraintException

android.database.sqlite.SQLiteConstraintException:错误代码19:约束失败

我的应用程序错误,不知道为什么.

当我向我的数据库添加一个新的收件箱项时,会发生这种情况.

这是我的收件箱表的Create语句:

CREATE TABLE inbox (uid text, title text, sender text, timeRecieved text, PRIMARY KEY(uid));
Run Code Online (Sandbox Code Playgroud)

使用这些静态最终字符串实现;

public static final String LABEL_INBOX_UID = "uid";
    public static final String LABEL_INBOX_TITLE = "title";
    public static final String LABEL_INBOX_SENDER = "sender";
    public static final String LABEL_INBOX_TIME_RECIEVED = "timeRecieved";

    public static final int COLUMN_INBOX_UID = 0;
    public static final int COLUMN_INBOX_TITLE  = 1;
    public static final int COLUMN_INBOX_SENDER= 2;
    public static final int COLUMN_INBOX_TIME_RECIEVED = 3;

    public static final String TABLE_NAME_INBOX = "inbox"; …
Run Code Online (Sandbox Code Playgroud)

android

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

额外的未决意图会丢失

您好,我正在尝试创建一个挂起的意图,其中包含一个枚举,该枚举包含在其意图附加中,该枚举通过警报管理器启动广播接收器,但是当我尝试获取枚举说它为空时,我的代码在广播接收器上崩溃了?

下面是我的代码

 val calendar = Calendar.getInstance()
        calendar.timeInMillis = System.currentTimeMillis()

        val intent = Intent(context, ClearDataReceiver::class.java)
        intent.action = "clear data"
        intent.putExtra(ClearDataReceiver.DATA_TYPE_EXTRA, DataType.CUSTOMER_DETAILS )
        val pendingIntent = PendingIntent.getBroadcast(context, 0, intent, 0)
        alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, calendar.timeInMillis, 60 * 1, pendingIntent)
Run Code Online (Sandbox Code Playgroud)

广播接收器

override fun onReceive(context: Context?, intent: Intent?) {
    super.onReceive(context, intent)

    var bundle = intent!!.extras

    val dataType = bundle.getSerializable(DATA_TYPE_EXTRA) as DataType
    when(dataType){
        DataType.BALANCE -> storage.clearCurrentBalance()
        DataType.CARD_NUMBER -> storage.clearardNumber()
        DataType.CUSTOMER_DETAILS -> storage.clearUserDetails()

    }
}
Run Code Online (Sandbox Code Playgroud)

android broadcastreceiver alarmmanager kotlin

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

进行改造会产生嘲笑的无效成功反应?

嗨,我正在尝试模拟我的请求响应api之一,以返回Void类型的响应成功,但是由于Void无法初始化且是私有的,我似乎无法做到这一点。

我正在尝试这样做:V

val responseMock = Response.success(Void())
Run Code Online (Sandbox Code Playgroud)

但是没有喜悦。

我什至尝试设置Response.success(null),它抱怨在我的情况下responseMock对象必须是Void类型,因为我的api方法返回了以下内容:

Single<Response<Void>>
Run Code Online (Sandbox Code Playgroud)

但具有response.success(null)会产生

Single<Response<Nothing?>>?
Run Code Online (Sandbox Code Playgroud)

android kotlin retrofit2 okhttp3

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

找不到类[org.springframework.jdbc.datasource.DriverManagerDataSourc [

好的log4j和servlet错误已得到修复.现在我有以下问题:

Cannot find class [org.springframework.jdbc.datasource.DriverManagerDataSourc

我目前web.xml看起来像这样:

<?xml version="1.0" encoding="UTF-8"?>

<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
         http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">


 <listener>
  <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
 </listener>

 <!--
  <listener>
  <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
 </listener>
  -->

 <!-- Register and setup my servlet xml files here -->

 <servlet>
  <servlet-name>appStore</servlet-name>
  <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  <init-param>
   <param-name>contextConfigLocation</param-name>
   <param-value></param-value>
  </init-param>
 </servlet>

 <servlet-mapping>
  <servlet-name>appStore</servlet-name>
  <url-pattern>*.htm</url-pattern>
 </servlet-mapping>

 <context-param>
  <param-name>contextConfigLocation</param-name>
  <param-value>
   /WEB-INF/zang-file-service.xml
  </param-value>
 </context-param>

</web-app>
Run Code Online (Sandbox Code Playgroud)

zang-file-service.xml如下:

<beans xmlns="ht..p://www.springframework.org/schema/beans"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jee="http://www.springframework.org/schema/jee"
 xsi:schemaLocation="h..p://www.springframework.org/schema/beans
       h..p://www.springframework.org/schema/beans/spring-beans-2.5.xsd
       h..p://www.springframework.org/schema/jee
       h..p://www.springframework.org/schema/jee/spring-jee-2.0.xsd">

 <!-- h..p://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-2.0.xsd -->

 <!-- Config properties files -->

 <!-- Hibernate database stuff -->

 <bean id="propertyConfigurer"
  class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> …
Run Code Online (Sandbox Code Playgroud)

spring

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

这个简单的HQL语法有什么问题吗?

您好我正在尝试执行这个简单的HQL查询,以使用以下方法从我的数据库中获取文件列表:

private static final String SQL_GET_FILE_LIST = "select filename, size, id, type from fileobject";

@Override
public List<FileObject> getFileList(String type) {
    // TODO Auto-generated method stub
    List<FileObject> files = hbTemplate.find(SQL_GET_FILE_LIST);
    hbTemplate.flush();
    return files;
}
Run Code Online (Sandbox Code Playgroud)

但我一直得到这个例外:

  org.hibernate.hql.ast.QuerySyntaxException: fileobject is not mapped [select filename, size, id, type from fileobject]
    org.hibernate.hql.ast.util.SessionFactoryHelper.requireClassPersister(SessionFactoryHelper.java:158)
    org.hibernate.hql.ast.tree.FromElementFactory.addFromElement(FromElementFactory.java:87)
    org.hibernate.hql.ast.tree.FromClause.addFromElement(FromClause.java:70)
    org.hibernate.hql.ast.HqlSqlWalker.createFromElement(HqlSqlWalker.java:257)
    org.hibernate.hql.antlr.HqlSqlBaseWalker.fromElement(HqlSqlBaseWalker.java:3056)
    org.hibernate.hql.antlr.HqlSqlBaseWalker.fromElementList(HqlSqlBaseWalker.java:2945)
    org.hibernate.hql.antlr.HqlSqlBaseWalker.fromClause(HqlSqlBaseWalker.java:688)
    org.hibernate.hql.antlr.HqlSqlBaseWalker.query(HqlSqlBaseWalker.java:544)
    org.hibernate.hql.antlr.HqlSqlBaseWalker.selectStatement(HqlSqlBaseWalker.java:281)
    org.hibernate.hql.antlr.HqlSqlBaseWalker.statement(HqlSqlBaseWalker.java:229)
    org.hibernate.hql.ast.QueryTranslatorImpl.analyze(QueryTranslatorImpl.java:228)
    org.hibernate.hql.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:160)
    org.hibernate.hql.ast.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:111)
    org.hibernate.engine.query.HQLQueryPlan.<init>(HQLQueryPlan.java:77)
    org.hibernate.engine.query.HQLQueryPlan.<init>(HQLQueryPlan.java:56)
    org.hibernate.engine.query.QueryPlanCache.getHQLQueryPlan(QueryPlanCache.java:72)
    org.hibernate.impl.AbstractSessionImpl.getHQLQueryPlan(AbstractSessionImpl.java:133)
    org.hibernate.impl.AbstractSessionImpl.createQuery(AbstractSessionImpl.java:112)
    org.hibernate.impl.SessionImpl.createQuery(SessionImpl.java:1623)
    org.springframework.orm.hibernate3.HibernateTemplate$30.doInHibernate(HibernateTemplate.java:923)
    org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:419)
    org.springframework.orm.hibernate3.HibernateTemplate.executeWithNativeSession(HibernateTemplate.java:374)
    org.springframework.orm.hibernate3.HibernateTemplate.find(HibernateTemplate.java:921)
    org.springframework.orm.hibernate3.HibernateTemplate.find(HibernateTemplate.java:913)
    com.kc.models.DbFileHelper.getFileList(DbFileHelper.java:65)
    com.kc.models.FileHelper.getFileList(FileHelper.java:108)
    com.kc.Controllers.AppListController.getFileList(AppListController.java:63)
    com.kc.Controllers.AppListController.handleRequest(AppListController.java:34)
    org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48)
    org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:875)
    org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:807)
    org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:571)
    org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:501)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:621) …
Run Code Online (Sandbox Code Playgroud)

java orm hibernate hibernate-search

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

在html表中输出JSON数组(jsp页面)

正如标题所示,如何在JSP页面中正确输出JSON数组?

现在每当我使用JSON数组对象显示JSON数组对象时<c:out value="${jsonArray}"/>,它只是以JSON字符串显示它的全部内容,{name: hello, address: baker street }但我想要做的就是以某种方式解析它并以适当的方式显示信息:

**name**      **address**
hello     baker street
spring    java
tim       sun 
Run Code Online (Sandbox Code Playgroud)

JSTL有可能吗?我是JSTL的新手.

package com.kc.models;

import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.sql.Blob;
import java.sql.SQLException;

import org.hibernate.Hibernate;

public class FileObject {

    private String filename;
    private String type;
    private double size;
    private Blob file;
    private int id;
    private String os;
    private String description;

    public FileObject() {

    }

    /**
     * Constructor for use in returning just the list of files without the
     * …
Run Code Online (Sandbox Code Playgroud)

java json jsp

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

使用属性值来设置maven父版本?

您好我正在尝试将maven中的父版本设置为属性上定义的版本,但它不起作用

这就是我写的

<parent>
    <groupId>com.me.android</groupId>
    <artifactId>me-android</artifactId>
    <version>${tools.version}</version>
    <relativePath>../pom.xml</relativePath>
</parent>
 <properties>
      <tools.version>1.0.0-SNAPSHOT</tools.version>
 <properties>
Run Code Online (Sandbox Code Playgroud)

它不起作用,我必须手动键入版本值而不是使用属性值.

错误如下

[ERROR] The build could not read 1 project -> [Help 1]
[ERROR]   
[ERROR]   The project com.me.android:tools-android-hello:${tools.version} (/Users/me/Work/tools-android/ToolsServer/pom.xml) has 1 error
[ERROR]     Non-resolvable parent POM: Could not transfer artifact com.me.android:tools-android:pom:${tools.version} from/to releases (http://artifactory/artifactory/releases): Illegal character in path at index 89: http://artifactory/artifactory/releases/com/me/android/tools-android/${tools.version}/tools-android-${tools.version}.pom and 'parent.relativePath' points at wrong local POM @ line 11, column 13 -> [Help 2]

    [ERROR] 
    [ERROR] To see the full stack trace of the errors, re-run …
Run Code Online (Sandbox Code Playgroud)

java maven

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

使用kotlin进行改造,无法创建@Body

嗨,我得到以下错误:

 java.lang.IllegalArgumentException: Unable to create @Body converter for class com.jr.app.models.ExampleData (parameter #1)
Run Code Online (Sandbox Code Playgroud)

这是我的ExampleData.kt

data class ExampleData(val id: String,
                   val firstName: String,
                   val secondName: String,
                   val profilImages: String,
                   val info: String) {

}
Run Code Online (Sandbox Code Playgroud)

我的界面改造

interface UsersService {

@GET("/usersProfile")
fun getAllUsers(): Call<List<ExampleData>>

@POST("/usersProfile")
fun addUser(@Body exampleData: ExampleData): Call<ResponseBody>

}
Run Code Online (Sandbox Code Playgroud)

添加用户的功能

  override fun addUser(user: ExampleData) {
    val retrofit = Retrofit.Builder().baseUrl(baseUrl).client(httpAuthClient).build();
    val userService = retrofit.create(UsersService::class.java);
    userService.addUser(user).enqueue(callbackResponse);
}

 private val httpAuthClient: OkHttpClient
    get() {
        val okHttpClient = OkHttpClient().newBuilder().addInterceptor { chain ->
            val originalRequest = chain.request() …
Run Code Online (Sandbox Code Playgroud)

android kotlin retrofit2

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

匕首2不注入sharedPreference

嗨,我是匕首2的新手,并尝试在下面的MyActivity类中注入sharedPreference的实例:

class MyApplication : Application() {

    companion object {
        @JvmStatic lateinit var applicationComponent : ApplicationComponent
    }



    override fun onCreate() {
        super.onCreate()
        applicationComponent = DaggerApplicationComponent.builder().androidModule(AndroidModule(this)).build()

    }
}
Run Code Online (Sandbox Code Playgroud)

这是组件和模块

@Singleton
@Component(modules = arrayOf(AndroidModule::class))
interface ApplicationComponent {
    fun inject(mainActivity: MainActivity)
}

@Module
class AndroidModule (private val application: Application){ 

    @Provides
    @Singleton
    fun provideApplicationContext() : Context = application

    @Provides
    @Singleton
    fun provideSharedPreference() : SharedPreferences = application.getSharedPreferences("shared pref", Context.MODE_PRIVATE)

}


class MainActivity: Activity{
    @Inject
    internal lateinit var sharedPreference: SharedPreferences

    @Inject
    internal lateinit var MainScreenPresenter: MainScreenContract.Presenter

    override …
Run Code Online (Sandbox Code Playgroud)

android dependency-injection kotlin dagger-2

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