小编ski*_*kip的帖子

如何使用ui-router中的ui-sref将参数传递给控制器

我需要传递并接收两个参数到我想转移到使用ui-srefui-router的状态.

比如使用以下链接将状态转换为homewith foobar参数:

<a ui-sref="home({foo: 'fooVal', bar: 'barVal'})">Go to home state with foo and bar parameters </a>
Run Code Online (Sandbox Code Playgroud)

控制器中的接收foobar值:

app.controller('SomeController', function($scope, $stateParam) {
  //..
  var foo = $stateParam.foo; //getting fooVal
  var bar = $stateParam.bar; //getting barVal
  //..
});     
Run Code Online (Sandbox Code Playgroud)

我在控制器中得到undefined$stateParam.

有人可以帮我理解如何完成它吗?

编辑:

.state('home', {
  url: '/',
  views: {
    '': {
      templateUrl: 'home.html',
      controller: 'MainRootCtrl'

    },

    'A@home': {
      templateUrl: 'a.html',
      controller: 'MainCtrl'
    },

    'B@home': {
      templateUrl: 'b.html',
      controller: …
Run Code Online (Sandbox Code Playgroud)

html javascript angularjs angular-ui angular-ui-router

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

如何在JavaScript中将Blob转换为File

我需要将图像上传到NodeJS服务器到某个目录.我正在使用connect-busboy节点模块.

dataURL使用以下代码将我转换为blob的图像:

dataURLToBlob: function(dataURL) {
    var BASE64_MARKER = ';base64,';
    if (dataURL.indexOf(BASE64_MARKER) == -1) {
        var parts = dataURL.split(',');
        var contentType = parts[0].split(':')[1];
        var raw = decodeURIComponent(parts[1]);
        return new Blob([raw], {type: contentType});
    }
    var parts = dataURL.split(BASE64_MARKER);
    var contentType = parts[0].split(':')[1];
    var raw = window.atob(parts[1]);
    var rawLength = raw.length;
    var uInt8Array = new Uint8Array(rawLength);
    for (var i = 0; i < rawLength; ++i) {
        uInt8Array[i] = raw.charCodeAt(i);
    }
    return new Blob([uInt8Array], {type: contentType});
}
Run Code Online (Sandbox Code Playgroud)

我需要一种方法将blob转换为文件以上传图像.

有人可以帮我吗?

javascript blob file-upload node.js

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

学习Gradle构建工具的最佳资源

从基础级别学习Gradle构建工具有哪些最佳资源?

build gradle

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

找不到Java类型的消息正文编写器,类myPackage.B和MIME媒体类型application/octet-stream

我是RESTful webservices的新手,并试图@OneToMany从独立的客户端应用程序更新我的关系,但我无法做到这一点.我正在使用Glassfish 3.1.1附带的JAX-RS的Jersey实现.

我有一个与班级A@OneToMany关系的班级B.

MyRestClient 是我的独立客户端,它调用我在Glassfish 3.1.1上部署的RESTful Web服务.

MyRestClient.java

public class MyRestClient {
    public static void main(String[] args) {    
        Client client = Client.create();        
        WebResource resource = client.resource("http://localhost:8080/myapp/rest/a/update/123");    
        B b1 = new B("debris");     
        ClientResponse response = resource.put(ClientResponse.class, b1);
        System.out.println(response.getEntity(A.class).getTitle() + " has " + response.getEntity(A.class).getBList().size() + " Bs.");
    }
}
Run Code Online (Sandbox Code Playgroud)

AResource 是一个EJB会话bean,我将其用作RESTful Web服务.

AResource.java

@Stateless
@Path("/a")
public class AResource {

    @EJB
    private AManager aManager;

    @PUT
    @Consumes(MediaType.APPLICATION_XML)
    @Produces(MediaType.APPLICATION_XML)
    @Path("/update/{id}")
    public Response updateA(B b, @PathParam("id") …
Run Code Online (Sandbox Code Playgroud)

rest web-services jax-rs jersey java-ee-6

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

Hibernate:javax.naming.NoInitialContextException(通过注释进行组件映射)

有人能告诉我为什么会出现以下错误?

javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file:  java.naming.factory.initial
    at javax.naming.spi.NamingManager.getInitialContext(Unknown Source)
    at javax.naming.InitialContext.getDefaultInitCtx(Unknown Source)
    at javax.naming.InitialContext.getURLOrDefaultInitCtx(Unknown Source)
    at javax.naming.InitialContext.getNameParser(Unknown Source)
    at org.hibernate.util.NamingHelper.bind(NamingHelper.java:75)
    at org.hibernate.impl.SessionFactoryObjectFactory.addInstance(SessionFactoryObjectFactory.java:113)
    at org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:348)
    at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1341)
    at org.hibernate.cfg.AnnotationConfiguration.buildSessionFactory(AnnotationConfiguration.java:867)
    at com.transbinary.main.Client.main(Client.java:13)
Run Code Online (Sandbox Code Playgroud)

我得到了所需的结果,并使用数据填充人员表,但我收到此错误.

这是我正在使用的代码: Person.java

@Entity
public class Person implements Serializable {
    private Integer id;
    private Address homeAddress;

    @Id
    @GeneratedValue
    public Integer getId() {
        return id;
    }
    public void setId(Integer id) { …
Run Code Online (Sandbox Code Playgroud)

annotations hibernate

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

如何在字符串中查找子字符串之前和之后

我有一个字符串说123dance456,我需要分成包含子串前的第一子串两个字符串dance(即123)和子串后dance(即456).我需要找到它们并将它们保存在单独的字符串变量中,比如说String firstSubString = 123;和String secondSubString = 456;.

是否有任何给定的String方法可以做到这一点?

java regex string

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

ng-repeat上"不允许在转发器中复制"

我从服务请求返回了以下json数据:

{
    "entries": [{
        "id": 2081,
        "name": "BM",
        "niceName": "bodmas"
        }]
    }, {
        "id": 8029,
        "name": "Mas",
        "niceName": "Masm"
        }]
    }],
    "count": 2
}
Run Code Online (Sandbox Code Playgroud)

我在html中尝试以下代码来循环遍历这些数据:

<option ng-repeat="entry in entries" value="{{entry.name}}">{{entry.name}}</option>
Run Code Online (Sandbox Code Playgroud)

运行代码时出现以下错误:

Error: [ngRepeat:dupes] Duplicates in a repeater are not allowed. Use 'track by' expression to specify unique keys. Repeater: entry in entries, Duplicate key: string:c
Run Code Online (Sandbox Code Playgroud)

以下是我的控制器的代码:

myApp.controller("MyController", ['$scope', '$http', '$log', function($scope, $http, $log){
       ...

       $http.get('https://myServiceURL').success(function(data){
                    $scope.entries = data;
        });
}]);
Run Code Online (Sandbox Code Playgroud)

有人可以帮我理解为什么我会收到这个错误?

json for-loop angularjs angularjs-ng-repeat

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

找不到JDBC驱动程序类:com.mysql.jdbc.Driver

我正在使用maven spring和hibernate开发一个web应用程序,我需要使用hibernate创建模式,我在其中pom.xml连接到MySQL 5.5数据库.

    <!-- MySql 5.5 Connector -->   
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>5.1.15</version>
    </dependency>
Run Code Online (Sandbox Code Playgroud)

这导入mysql-connector-java-5.1.15.jar我的LibrariesMaven Dependencies,但当我尝试连接到数据库时,它给了我Exception in thread "main" org.hibernate.HibernateException: JDBC Driver class not found: com.mysql.jdbc.Driver.

我这样做了很多次,但是当我不习惯使用Maven管理我的依赖项并构建项目时,我就这样做了.我曾经在Eclipse IDE 的lib文件夹中使用相同的jar文件Dynamic Web Project.

有人能告诉我,我在这里缺少什么,还有什么我需要在我的构建路径中拥有这个jar?

谢谢.

web-applications jdbc mysql5 hibernate3

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

JavaEE 6:javax.naming.NameAlreadyBoundException:使用重新绑定来覆盖

我有一个由两个EJB实现的业务接口.

UserManagementService

@Remote
public interface UserManagementService {
    // ...
}
Run Code Online (Sandbox Code Playgroud)

UserManagementServiceJpaImpl

@Stateless(name="userManagementServiceJpaImpl")
public class UserManagementServiceJpaImpl implements UserManagementService {

    @EJB(beanName="userManagementDaoJpaImpl")
    private UserManagementDao userManagementDao;

    // ...
}
Run Code Online (Sandbox Code Playgroud)

UserManagementServiceMockImpl

@Stateless(name="userManagementServiceMockImpl")
public class UserManagementServiceMockImpl implements UserManagementService {   

    @EJB(beanName="userManagementDaoMockImpl")
    private UserManagementDao userManagementDao;

    // ...

}
Run Code Online (Sandbox Code Playgroud)

当我将应用程序部署到Glassfish 3.1时,我收到以下错误:

java.lang.RuntimeException: Error while binding JNDI name com.transbinary.imdb.service.UserManagementService for EJB : userManagementServiceMockImpl
    at com.sun.ejb.containers.BaseContainer.initializeHome(BaseContainer.java:1550)
    at com.sun.ejb.containers.StatelessSessionContainer.initializeHome(StatelessSessionContainer.java:202)
    at com.sun.ejb.containers.ContainerFactoryImpl.createContainer(ContainerFactoryImpl.java:167)
    at org.glassfish.ejb.startup.EjbApplication.loadContainers(EjbApplication.java:234)
    at org.glassfish.ejb.startup.EjbDeployer.load(EjbDeployer.java:290)
    at org.glassfish.ejb.startup.EjbDeployer.load(EjbDeployer.java:101)
    at org.glassfish.internal.data.ModuleInfo.load(ModuleInfo.java:186)
    at org.glassfish.internal.data.ApplicationInfo.load(ApplicationInfo.java:249)
    at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:460)
    at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:240)
    at org.glassfish.deployment.admin.DeployCommand.execute(DeployCommand.java:370)
    at com.sun.enterprise.v3.admin.CommandRunnerImpl$1.execute(CommandRunnerImpl.java:360)
    at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:370)
    at …
Run Code Online (Sandbox Code Playgroud)

ejb-3.0 glassfish-3

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

如何测试javascript cookie是否已过期?

是否可以测试javascript cookie是否已过期使用?

我需要有条件地做一些事情并且其中两个条件是重叠的,如果可以测试cookie是否已经过期,那么我将更容易完成任务.

我正在使用jquery-1.5.jsjquery.cookies.js插件.

谢谢.

var jq = jQuery.noConflict();
jq(document).ready(function () {

    var timeStart, timeSubmit, timeLeft;
    timeSubmit = 5 * 60 * 1000;
    timeStart = jaaulde.utils.cookies.get("_watchman");
    try {
        if(jaaulde.utils.cookies.test()) {
            throw "err1";
        }
        else if(hasCookieExpired) {
            throw "err2";
        }
        else if(!timeStart) {
            jaaulde.utils.cookies.set("_watchman", String(new Date().getTime()), {path: '/path', expiresAt: new Date((new Date().getTime() + timeSubmit))});
            timeLeft = timeSubmit - (new Date().getTime() - Number(jaaulde.utils.cookies.get("_watchman")));
            timeCheck();
        }
        else {
            timeLeft = timeSubmit - (new Date().getTime() - Number(jaaulde.utils.cookies.get("_tts")));         

            timeCheck();
        } …
Run Code Online (Sandbox Code Playgroud)

javascript jquery

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