小编Syd*_*ney的帖子

Angular中方括号使用的目的是什么?

我想了解声明MyOtherService和之间的区别MyOtherComplexService.特别是方括号部分的目的是什么?何时使用它们何时不使用?

var myapp = angular.module('myapp', []);

myapp.factory('MyService', function($rootScope, $timeout) {
    return {
        foo: function() {
            return "MyService";
        }
    }
});

myapp.factory('MyOtherService', function($rootScope, $timeout, MyService) {
    return {
        foo: function() {
            return "MyOtherService";
        }
    }
});

myapp.factory('MyOtherComplexService', ['$rootScope', '$timeout', 'MyService', function($rootScope, $timeout, MyService) {
    return {
        foo: function() {
            return "MyOtherComplexService";
        }
    } 
}]);

myapp.controller('MyController', function($scope, MyOtherService, MyOtherComplexService) {

    $scope.x = MyOtherService.foo();
    $scope.y = MyOtherComplexService.foo(); 
});
Run Code Online (Sandbox Code Playgroud)

javascript angularjs

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

Angular ui-router通过resolve获取异步数据

我想显示一个表格,其中包含与编辑项目相对应的数据.我ui-router用于路由.我定义了一个州:

myapp.config(function($stateProvider) {

    $stateProvider.
    .state('layout.propertyedit', {
        url: "/properties/:propertyId",
        views : {
            "contentView@": {
                templateUrl : 'partials/content2.html', 
                controller: 'PropertyController'
            }
        }
    });
Run Code Online (Sandbox Code Playgroud)

PropertyController,我想设置$scope.property来自以下呼叫的数据(Google Cloud Endpoints):

    gapi.client.realestate.get(propertyId).execute(function(resp) {
        console.log(resp);
    });
Run Code Online (Sandbox Code Playgroud)

我不知道是否可以使用,resolve因为数据是异步返回的.我试过了

    resolve: {
        propertyData: function() {
            return gapi.client.realestate.get(propertyId).execute(function(resp) {
                console.log(resp);
            });
        }
    }
Run Code Online (Sandbox Code Playgroud)

第一个问题,propertyId未定义.你怎么得到propertyIdurl: "/properties/:propertyId"

基本上我想设置$scope.propertyPropertyControllerresp通过异步调用返回的对象.

编辑:

myapp.controller('PropertyController', function($scope, , $stateParams, $q) {

    $scope.property = {};

    $scope.create = function(property) {
    }

    $scope.update …
Run Code Online (Sandbox Code Playgroud)

angularjs angular-ui angular-ui-router

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

关系所有者在双向关系中意味着什么?

我有一个简单的模型QuestionChoice对象.

  • 一个问题有很多选择(S).
  • 很多选择有一个问题

使用Hibernate有两种方法可以实现

实施一:业主方是选择

Question.java

@OneToMany (mappedBy="question")
private Set choices = new HashSet();
Run Code Online (Sandbox Code Playgroud)

Choice.java

@ManyToOne
@JoinColumn (name="QUESTION_ID")
private Question question;
Run Code Online (Sandbox Code Playgroud)

实施二:业主方是问题

Question.java

@OneToMany
@JoinColumn (name = "QUESTION_ID")
private Set choices = new HashSet();
Run Code Online (Sandbox Code Playgroud)

Choice.java

@ManyToOne
@JoinColumn (name="QUESTION_ID", updatable = false, insertable = false)
private Question question;
Run Code Online (Sandbox Code Playgroud)

这两个实现有什么区别?

hibernate

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

Java 8 日期时间类型使用 Spring Boot 序列化为对象

我有一个包含 Java 8 日期时间类型字段的实体。问题是这些字段被序列化为对象。我添加了jackson-datatype-jsr310依赖项,因此 Spring Boot 1.5.7 会自动配置JavaTimeModule处理 Java 8 日期时间类型。看来该模块没有注册(我在 JavaTimeModule 构造函数中放置了一个断点)。我知道我不需要定制ObjectMapper。我花了几个小时阅读该问题,解决方案始终是添加jackson-datatype-jsr310依赖项,但它在我的情况下不起作用。

实体:

@Entity
public class DateTimeEntity {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    private LocalDate localDate;

    private LocalDateTime localDateTime;

    private Instant instant;

    private OffsetDateTime offsetDateTime;

    private ZonedDateTime zonedDateTime;

}
Run Code Online (Sandbox Code Playgroud)

RestController 方法:

@GetMapping("/datetimes/{id}")
public ResponseEntity<DateTimeEntity> getById(@PathVariable Long id) {
    DateTimeEntity dateTimeEntity = dateTimeRepository.findOne(id);
    return new ResponseEntity<DateTimeEntity>(dateTimeEntity, HttpStatus.OK);

}
Run Code Online (Sandbox Code Playgroud)

返回的 JSON 对象:

    {
    "id": 1,
    "localDate": null,
    "localDateTime": null,
    "instant": { …
Run Code Online (Sandbox Code Playgroud)

spring spring-boot

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

返回ResponseEntity <String>的JSON

我的控制器中有一个方法应该返回JSON中的String.它返回非原始类型的JSON:

@RequestMapping(value = "so", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
ResponseEntity<String> so() {
    return new ResponseEntity<String>("This is a String", HttpStatus.OK);
}
Run Code Online (Sandbox Code Playgroud)

卷曲响应是:

This is a String
Run Code Online (Sandbox Code Playgroud)

spring-mvc

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

为cron作业配置Java GAE Appstats

我配置我web.xml为我的cron作业启用appstats.我的cron作业由URL上的servlet处理,http://myapp.appspot.com/cron/myjob每小时执行一次.

当我访问URL上的appstats管理界面时http://myapp.appspot.com/appstats/stats.我可以看到有关/appstats网址的统计信息,但不能查看/cron网址.我希望appstats每次执行cron作业时都能记录事件.这是我的web.xml:

<web-app>
    <!-- Servlets -->
    <filter>
        <filter-name>guiceFilter</filter-name>
        <filter-class>com.google.inject.servlet.GuiceFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>guiceFilter</filter-name>
        <url-pattern>*</url-pattern>
    </filter-mapping>
    <!-- AppStats -->
    <filter>
        <filter-name>appstats</filter-name>
        <filter-class>com.google.appengine.tools.appstats.AppstatsFilter</filter-class>
        <init-param>
            <param-name>logMessage</param-name>
            <param-value>Appstats available: /appstats/details?time={ID}</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>appstats</filter-name>
        <url-pattern>/cron/*</url-pattern>
    </filter-mapping>
    <!-- AppStats Servlet -->    
    <servlet>
        <servlet-name>appstats</servlet-name>
        <servlet-class>com.google.appengine.tools.appstats.AppstatsServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>appstats</servlet-name>
        <url-pattern>/appstats/*</url-pattern>
    </servlet-mapping>
<!--     <security-constraint>
        <web-resource-collection>
            <url-pattern>/appstats/*</url-pattern>
        </web-resource-collection>
        <auth-constraint>
            <role-name>admin</role-name>
        </auth-constraint>
    </security-constraint>  -->
    <!-- Default page to serve -->
</web-app>
Run Code Online (Sandbox Code Playgroud)

解决方案:我通过在Guice过滤器之前放置AppStats过滤器来修复它

java google-app-engine appstats

16
推荐指数
1
解决办法
687
查看次数

svn 1.7错误E200009无法添加所有目标,因为某些目标已经过版本化

我对存储库进行了干净的检查,然后每天我都有一个运行脚本来备份配置的hudson作业.部分脚本是添加*.xml

$ svn add *.xml
svn: warning: W150002: '/data/hudson/config.xml' is already under version control
svn: E200009: Could not add all targets because some targets are already versioned
svn: E200009: Illegal target for the requested operation
Run Code Online (Sandbox Code Playgroud)

警告很好,因为一些xml文件已经受版本控制,但我不明白为什么我会收到E200009错误.如果没有要添加的内容,则应该没有错误.

svn

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

休眠:文档无效:未找到语法

当我使用以下代码实例化Hibernate时:

        Configuration configuration = new Configuration();
        configuration.configure();
        serviceRegistry = new ServiceRegistryBuilder().applySettings(
                configuration.getProperties()).buildServiceRegistry();
        sessionFactory = configuration.buildSessionFactory(serviceRegistry);
Run Code Online (Sandbox Code Playgroud)

我有以下例外情况:

org.xml.sax.SAXParseException:文档无效:未找到语法.,org.xml.sax.SAXParseException:文档根元素"hibernate-configuration"必须与DOCTYPE根"null"匹配.由以下原因引起:org.hibernate.MappingException:在org.hibernate的org.hibernate.cfg.Configuration.configure(Configuration.java:1931)org.hibernate.cfg.Configuration.doConfigure(Configuration.java:2014)中配置无效. cfg.Configuration.configure(Configuration.java:1910)at com.soccer.system.HibernateUtil.(HibernateUtil.java:23)... 1更多引起:org.xml.sax.SAXParseException:文档无效:无语法找到.

我在hibernate.cfg.xmlHibernate 4.1.6中使用以下文件:

<?xml version='1.0' encoding='utf-8'?>

<hibernate-configuration
    xmlns="http://www.hibernate.org/xsd/hibernate-configuration"
    xsi:schemaLocation="http://www.hibernate.org/xsd/hibernate-configuration hibernate-configuration-4.0.xsd"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <session-factory>
        <!-- Database connection settings -->
        <property name="connection.driver_class">org.apache.derby.jdbc.ClientDriver</property>
        <property name="connection.url">jdbc:derby://localhost:1527/K:\db</property>
        <property name="connection.username"></property>
        <property name="connection.password"></property>

        <!-- JDBC connection pool (use the built-in) -->
        <property name="connection.pool_size">1</property>

        <!-- SQL dialect -->
        <property name="dialect">org.hibernate.dialect.DerbyDialect</property>

        <!-- Enable Hibernate's automatic session context management -->
        <property name="current_session_context_class">thread</property>

        <!-- Disable the second-level cache -->
        <property name="cache.provider_class">org.hibernate.cache.internal.NoCacheProvider</property> …
Run Code Online (Sandbox Code Playgroud)

hibernate

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

JSF 2.0更新第一次无法工作的primefaces对话框

我有一个简单的表单,要求用户输入文本.然后,当用户单击该链接时,将显示一个对话框,其中包含用户输入的值.我遇到的第一个问题是对话框没有显示.

另一个问题涉及更新.首次显示表单时,HTML代码是正确的,当前值为#{dialogBean.location}空.

然后我点击链接,HTML代码是"错误的".这就是为什么我猜它没有显示:

<form id="dialogForm" name="dialogForm" method="post" action="/tcmt-component/dialog.xhtml" enctype="application/x-www-form-urlencoded">
<input type="hidden" name="dialogForm" value="dialogForm">
<input type="hidden" autocomplete="off" value="-6424900608015567042:-9068630845666043913" id="javax.faces.ViewState" name="javax.faces.ViewState"></form>
Run Code Online (Sandbox Code Playgroud)

同时,我检查Ajax调用的返回.值#{dialogBean.location}仍为空.

<?xml version='1.0' encoding='UTF-8'?>
<partial-response><changes><update id="dialogForm:dialog"><![CDATA[<div id="dialogForm:dialog" style="display:none" title="Dialog">  
        Current Location:
Run Code Online (Sandbox Code Playgroud)

我再次点击链接,这次将值#{dialogBean.location}设置为正确的值.

<?xml version='1.0' encoding='UTF-8'?>
<partial-response><changes><update id="dialogForm:dialog"><![CDATA[<div id="dialogForm:dialog" style="display:none" title="Dialog">  
        Current Location: MyLocation
Run Code Online (Sandbox Code Playgroud)

豆子:

@ManagedBean
@SessionScoped
public class DialogBean implements Serializable {

    private String location;

    public void setLocation(String location) {
        this.location = location;
    }

    public String getLocation() {
        return location;
    }

}
Run Code Online (Sandbox Code Playgroud)

风景:

<?xml version="1.0" …
Run Code Online (Sandbox Code Playgroud)

jsf primefaces jsf-2

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

Gitlab CI超时手动作业

我有一个有 4 个阶段的管道:

  • 编译
  • 测试
  • 包裹
  • 部署

打包阶段是手动的。如果 x 分钟后未采取手动操作,我希望管道超时。我知道有一个timeout选择,但只有在工作开始后才会考虑。

package_staging:
  image: maven:3.6.3-jdk-11
  stage: package
  script:
    - mvn $MAVEN_CLI_OPTS -DskipTests clean install -Pstaging
  only:
    - branches
  except:
    - master
    - /^release/.*$
  when: manual
Run Code Online (Sandbox Code Playgroud)

gitlab

8
推荐指数
1
解决办法
1101
查看次数