GVKun编程网logo

JSP中是否有任何类似于isset的函数?(jsp包含servlet)

33

本篇文章给大家谈谈JSP中是否有任何类似于isset的函数?,以及jsp包含servlet的知识点,同时本文还将给你拓展.NETBCL中是否有任何现成的Json序列化帮助程序类?、Android中是否

本篇文章给大家谈谈JSP中是否有任何类似于isset的函数?,以及jsp包含servlet的知识点,同时本文还将给你拓展.NET BCL中是否有任何现成的Json序列化帮助程序类?、Android中是否有类似于C / C ++中“ int main”的函数,其中包含程序的主循环?、asp.net – 任何类似于蚂蚁分析器和免费的工具?、c – 是否有任何理由不使用异常来测试std :: map中是否存在元素等相关知识,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

JSP中是否有任何类似于isset的函数?(jsp包含servlet)

JSP中是否有任何类似于isset的函数?(jsp包含servlet)

我在想,如果我们能够检查所有undefined,并null在JSP中使用其内置的函数的变量?

我知道我可以构建一个函数来做到这一点,但是我需要一个懒惰的解决方案。

答案1

小编典典
<c:if test="${name == null}">variable name is undefined</c:if>

为了进行测试,您可以使用以下方法定义和取消定义变量:

<c:set var="name" value="Petra"/><c:set var="name" value="${null}"/>

要声明您正在使用核心JSTL标签,请将其添加到页面顶部:

<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>

.NET BCL中是否有任何现成的Json序列化帮助程序类?

.NET BCL中是否有任何现成的Json序列化帮助程序类?

我需要将一些对象序列化/反序列化到字符串中/从字符串中反序列化,并将它们作为不透明数据传输。我可以使用XmlSerializer来执行此操作,但是生成的字符串看起来笨拙且冗长。那么,.NET中是否有任何简洁的序列化器可用?

我想到的第一件事是.NET可能应该具有JSON序列化程序,但我找不到它。.NET中是否有任何现成的方法可以将对象转换为简洁的字符串?

Android中是否有类似于C / C ++中“ int main”的函数,其中包含程序的主循环?

Android中是否有类似于C / C ++中“ int main”的函数,其中包含程序的主循环?

通常,在C或C ++程序中,通常会有一个主循环/函数int main ()。我可以在android Java开发中使用类似的功能吗?

答案1

小编典典

就Android程序而言,没有main()。操作系统运行一个UI循环,该循环调用您在程序中定义或覆盖的方法。这些方法可能是从onCreate(),onStart(),onResume(),onReStart(),onPause(),onStop()或onDestroy()中定义的。所有这些方法都可能在您的程序中被覆盖。

根本问题在于,该操作系统旨在在资源受限的环境中运行。每当操作系统需要更多内存(这是一个多任务操作系统)时,您就需要准备停止它的程序,甚至完全停止它。为了处理您的程序,需要具有上面列出的所有功能。

活动生命周期最能说明这一点(您的程序是一个或多个活动,将活动视为屏幕):

http://developer.android.com/reference/android/app/Activity.html#ActivityLifecycle

底线:您的程序通过onResume()从onCreate()启动,但操作系统正在运行循环。您的程序向操作系统提供回调,以处理操作系统发送给它的任何内容。如果您在程序中的任何地方放置了较长的循环,由于操作系统(特别是UI线程)无法获得一小段时间,它似乎会冻结。使用线程进行长循环。

asp.net – 任何类似于蚂蚁分析器和免费的工具?

asp.net – 任何类似于蚂蚁分析器和免费的工具?

我想测试一个asp.net web应用程序。那里最好的免费图形工具是什么?

虽然类似于蚂蚁的东西真的很好,但是有一个工具甚至包括通过电子邮件发送的数据的信息是很好的。像蚂蚁小提琴手。我希望我不要求太多:)

谢谢。

解决方法

像 Nprof这样的开放源代码是不错的,但是似乎已经过时了,没有维护。

Nprofiler也是。

EQATEC有一个有希望的产品,但我还没有花上足够的时间。也许下一次迭代。 =)

我也很想看到其他答案。

编辑:更好的看看这other stackoverflow question。

c – 是否有任何理由不使用异常来测试std :: map中是否存在元素

c – 是否有任何理由不使用异常来测试std :: map中是否存在元素

我最近开始在许多项目中使用c 11,并且还开始大量使用我相对较新的stl容器.

我有一个我最近写的函数,它做了类似的事情:

CMyClass* CreateAndOrGetClass( int _iObjectId,std::map<int,CMyClass*>& _mapObjectData )
{
    CMyClass* pClassInstance{ nullptr };

    try
    {
        pClassInstance = _mapObjectData.at( _iObjectId);
    }
    catch ( ... )
    {
        pClassInstance = new CMyClass();
        __mapObjectData.insert( _iObjectId,pClassInstance );
    }

    return ( pClassInstance );
}

我的问题是关于明显不是“特殊”条件的例外情况.它似乎是实现手头目的的一种非常简洁的方式,而不是涉及设置迭代器.

对于我可能会遗漏的此类目的使用异常是否有任何问题?

测量*

因此,为了跟进,我做了一些性能测试,将基于异常的代码与所选答案中的代码示例进行比较.通过使用正常代码流的异常来验证不良性能的建议是一个很好的练习.它还提供了一些很好的参考资料,用于在不抛出异常时断言接近于零的性能损失.

虽然这些测试并非详尽无遗,但我观察到的是:

每个测试都使用rand()作为映射键的源(生成最大32768个元素)在大量插入/提取上运行:

例外方法:平均5.99秒
查找/添加方法:平均0.75秒

将随机元素的范围扩大十倍可以得到这些数字:

例外方法:平均56.7秒
查找/添加方法:平均4.54秒

然后我用所有可能的密钥条目预填充地图,以便尝试从不抛出:

例外方法:平均0.162秒
查找/添加方法:平均0.158秒

奇怪的是,使用MS VStudio,异常处理方法的调试模式代码更快.

解决方法

例外是将故障处理与正常案例代码完全分开的一种方法.

在你的代码中,它们被用于正常情况,这会破坏目的而没有任何优势.

在特定情况下,使用[]索引,如果密钥已经存在则会自动插入密钥.更常见的是使用条件结构来实现简单的条件控制流程.在某些特殊情况下,异常对于表达正常的案例控制流是有意义的(例如,从深度嵌套的递归调用返回结果),在某种意义上代码可以变得更简单和更清晰,但是这些例外情况是……例外.

关于效率,抛出异常是昂贵的,因为C编译器针对故障处理使用异常进行了优化,这被认为是罕见的.

当失败成为常态时,重新考虑失败的工作定义.

但是,只是抛出异常的可能性很小,低至0,开销.因此,您不应该害怕使用异常来安全地处理失败,并且不会分散注意力,使其远离正常的案例代码.正确使用,将这种代码划分为正常情况和失败,例外是双赢的.

在a comment到另一个回答你说,

Although I like the brevity of this,it potentially leaves the map with a nullptr if the class can’t be instantiated.

那是一种失败的情况,使用异常处理是正确的方法.

例如,

Your_class* creative_at( int const id,YourClass*>& object_data )
{
    // Basic non-creating at:
    {
        auto const it = object_data.find( id );
        if( it != object_data.end() ) { return it->second; }
    }

    // Create:
    std::unique_ptr<Your_class> p( new Your_class() );    // May throw.
    object_data[id] = p.get();                            // May throw.
    return p.release();
}

此代码基于异常,但看不到尝试捕获.

在C语言中,主要是让析构函数进行自动清理,例如在本例中为std :: unique_ptr析构函数,而不是Java方法的try-catch-finally.这种方法称为RAII,是资源获取初始化的缩写.

我们今天的关于JSP中是否有任何类似于isset的函数?jsp包含servlet的分享就到这里,谢谢您的阅读,如果想了解更多关于.NET BCL中是否有任何现成的Json序列化帮助程序类?、Android中是否有类似于C / C ++中“ int main”的函数,其中包含程序的主循环?、asp.net – 任何类似于蚂蚁分析器和免费的工具?、c – 是否有任何理由不使用异常来测试std :: map中是否存在元素的相关信息,可以在本站进行搜索。

本文标签: