小编Dan*_*ray的帖子

在Angular服务构造函数中调用HTTP端点可以吗?

Angular文档中,有以下关于组件构造函数中代码的提示(我强调的第二段):

叫进去 ngOnInit

虽然可以调用getHeroes()构造函数,但这不是最佳实践。

保留构造函数以进行简单的初始化,例如将构造函数参数连接到属性。构造函数不应该做任何事情。当然,不应像真正的数据服务那样调用向远程服务器发出HTTP请求的函数。

而是getHeroes()ngOnInit生命周期挂钩内调用ngOnInit,并构造HeroesComponent实例的适当时间让Angular调用。

服务方面呢?Observable在构造函数中进行HTTP调用(只是在本地存储异步请求的启动)是否也很糟糕?服务没有ngOnInit()事件,那么服务的最佳实践是什么?

angular

5
推荐指数
1
解决办法
2499
查看次数

使用jQuery的HTML实体

我想使用替换提交按钮的值Loading….

问题是,当我点击按钮时,我仍然看到…而不是三个点.

这是我的代码:

$("#myid").val("Loading…");
Run Code Online (Sandbox Code Playgroud)

我应该在上面的代码中直接从键盘输入省略号吗?UTF-8安全吗?

html javascript jquery html-entities

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

f:不调用ajax action方法

我正在使用带有丰富面孔的JSF2 4.我的目标是使用ajax将后端中的方法生成的请求ID显示到输入文本字段中.

这是我的代码片段:


....
    <h:outputText value="Drawer No" /> 
    <h:outputText value="*" style="color:#ff0000;"/> 
    <h:inputText id="drawer" value="#{requestBean.drawerNumber}" required="true" 
         requiredMessage="Please enter drawer number">
        <f:ajax event="change" action="#{requestBean.generateRequestId}" 
            execute="@form" render="requestId"/>
    </h:inputText>

    <h:outputText value="Request Id" /> 
    <h:inputText id="requestId" value="#{requestBean.requestId}"  readonly="true" required="true" >
    </h:inputText>
</td>
<td>
    <h:message for="requestId"  style="color:red;font-size:10pt"/>
....
Run Code Online (Sandbox Code Playgroud)

豆:

public void generateRequestId(ActionEvent e) 
{
    FacesContext context = FacesContext.getCurrentInstance();
    HttpSession session = (HttpSession) context.getExternalContext().getSession(false);
    String emp=(String) session.getAttribute("loginUser");
    System.out.println("inside ajax event" + emp);
    try {
        requestId = AdminDAO.getRequestId(emp);
    } catch (ParseException e1) {
        e1.printStackTrace();
    }
}
Run Code Online (Sandbox Code Playgroud)

一旦调用该方法,它将生成一个请求ID,需要将其呈现回请求ID.

这段代码甚至没有调用方法,如果我用 …

ajax richfaces jsf-2

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

如何设置 (Rust) Rocket API 端点的模板响应的 HTTP 状态代码?

我的 Rocket API 中有以下登录 POST 端点处理程序:

#[post("/login", data = "<login_form>")]
pub fn login_validate(login_form: Form<LoginForm>) -> Result<Redirect, Template> {
    let user = get_user(&login_form.username).unwrap();
    match user {
        Some(existing_user) => if verify(&login_form.password, &existing_user.password_hash).unwrap() {
            return Ok(Redirect::to(uri!(home)))
        },
        // we now hash (without verifying) just to ensure that the timing is the same
        None => {
            hash(&login_form.password, DEFAULT_COST);
        },
    };
    let mut response = Template::render("login", &LoginContext {
        error: Some(String::from("Invalid username or password!")),
    });
    // TODO: <<<<<<<<<< HOW CAN I SET AN HTTP STATUS CODE …
Run Code Online (Sandbox Code Playgroud)

rust rust-rocket

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

如何在 Go 中克隆 strings.Builder?

Go 编程语言的标准库公开了一个名为 的结构strings.Builder,它允许通过重复连接以有效的方式轻松构建字符串,类似于 C# 或 Java 的StringBuilder.

在 Java 中,我会使用StringBuilder的构造函数来“克隆”对象,如下所示:

StringBuilder newBuffer = new StringBuilder(oldBuffer.toString());
Run Code Online (Sandbox Code Playgroud)

在Go中,我只能看到以下两行方式:

newBuffer := strings.Builder{}
newBuffer.WriteString(oldBuffer.String())
Run Code Online (Sandbox Code Playgroud)

没有其他.Clone()初始化方法(我可能还没有找到)。

是否有另一种方法比我提出的方法更简短/简洁?

go

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

如何在Perl中以最小宽度格式舍入和打印浮点数

我想做的事情如下:

printf('%3.3f%% ', $percent);
Run Code Online (Sandbox Code Playgroud)

但我仍然得到输出:

99.999%
100.000%
Run Code Online (Sandbox Code Playgroud)

我想要像:

 99.999%
100.000%
Run Code Online (Sandbox Code Playgroud)

所以它的填充空间小于整个宽度.什么格式说明符可以完成我想要做的事情?

perl string-formatting

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

com.sun.faces.renderkit.html_basic.TextRenderer存在哪些Java API替换(如果有)

在Java Web项目(在Tomcat&JSF&Spring上运行)上,编写了一个自定义渲染器,即使要转换的值也要调用自定义转换器null,如下所述:JSF Custom Converter未调用null值

但是,SonarQube扫描正在检测import线路上的问题,即:

import com.sun.faces.renderkit.html_basic.TextRenderer;
Run Code Online (Sandbox Code Playgroud)

因为它是一个com.sun.*包而不是标准的Java API包.规则说明指出:

不应使用"sun.*"包中的类(鱿鱼:S1191)

sun.*com.sun.*包中的类被视为实现细节,而不是Java API的一部分.

迁移到新版本的Java时,它们可能会导致问题,因为没有向后兼容性保证.同样,当转移到不同的Java供应商(例如OpenJDK)时,它们可能会导致问题.

这些类几乎总是由应该使用的Java API类包装.

不合规的代码示例

import com.sun.jna.Native;     // Noncompliant
import sun.misc.BASE64Encoder; // Noncompliant
Run Code Online (Sandbox Code Playgroud)

这很有道理,但我找不到这个类的Java API包装器,只找到该类所在的源代码和包...在这种情况下采取的适当措施是什么?

java jsf sonarqube

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