我试图从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) 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) 您好,我正在尝试创建一个挂起的意图,其中包含一个枚举,该枚举包含在其意图附加中,该枚举通过警报管理器启动广播接收器,但是当我尝试获取枚举说它为空时,我的代码在广播接收器上崩溃了?
下面是我的代码
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) 嗨,我正在尝试模拟我的请求响应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) 好的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) 您好我正在尝试执行这个简单的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) 正如标题所示,如何在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) 您好我正在尝试将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.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) 嗨,我是匕首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)