我的Java Web应用程序当前将某些错误代码映射到错误servlet(实际上是弹簧Web流程,但这应该是除此之外的),通过在web.xml中执行此操作:
<error-page>
<error-code>500</error-code>
<location>/spring/error?error=500</location>
</error-page>
<error-page>
<error-code>404</error-code>
<location>/spring/error?error=404</location>
</error-page>
Run Code Online (Sandbox Code Playgroud)
但是,在某些情况下,服务器仍会崩溃,并为用户提供一些例外的堆栈跟踪转储.(在IBM WebSphere btw上运行).我的问题是; 是否可以定义一个后备错误页面,如果所有其他错误都不匹配将使用该页面?因此,我们保证在任何情况下都不会以堆栈跟踪结束.
我想知道是否有一种方法可以在自定义操作上使用rails验证.
例如,我想做这样的事情:
validates_presence_of :description, :on => :publish, :message => "can't be blank"
Run Code Online (Sandbox Code Playgroud)
我做了基本的验证创建和保存,但是有许多我不想预先要求的东西.即,他们应该能够在不验证所有字段的情况下保存准系统记录,但是我在我的控制器和模型中有一个自定义的"发布"操作和状态,在使用时应验证以确保记录为100%
上面的例子没有用,有什么想法吗?
更新:
我的状态机看起来像这样:
include ActiveRecord::Transitions
state_machine do
state :draft
state :active
state :offline
event :publish do
transitions :to => :active, :from => :draft, :on_transition => :do_submit_to_user, :guard => :validates_a_lot?
end
end
Run Code Online (Sandbox Code Playgroud)
我发现我可以添加防护,但我仍然希望能够使用rails验证而不是在自定义方法上完成所有操作.
我已经在 Zend Framework 中构建了一个 Web 应用程序,现在迫切需要一个工具/插件,它可以从我的所有 Zend 控制器(类)生成类图。
我使用 Zend Studio 和 Eclipse,所以如果您知道任何可以完成这项工作的插件,请告诉我。
非常感谢所有帮助和评论。
非常感谢维沙尔
可能重复:
Java问题 - 背后的原因和可能的输出是什么
int i=0;
for(a=0;a<=integer.MAX_VAL;a++)
{
i++;
}
System.out.println(i);
Run Code Online (Sandbox Code Playgroud)
为什么这会导致infite循环?
有一个复杂的查询生成一个报告.该查询具有多个子查询,可为不同的产品生成3列表.每个子查询返回一行.然后所有返回的行需要联合起来.但有一个要求.如果子查询没有结果行,我们无论如何都需要将相应的产品包含在最终报告中,但是指定Trades_Count等于零.
我可以使用一组变量来实现这一点.以下代码将在MS SQL Server中完美地运行:
DECLARE @PRODUCT_NAME_1 nvarchar(100);
DECLARE @OFFER_VALID_DATE_1 datetime;
DECLARE @TRADES_COUNT_1 int;
DECLARE @PRODUCT_NAME_2 nvarchar(100);
DECLARE @OFFER_VALID_DATE_2 datetime;
DECLARE @TRADES_COUNT_2 int;
--Product 1
select @PRODUCT_NAME_1 = PRODUCT_NAME, @OFFER_VALID_DATE_1 = MAX(EXPIRY_DATE), @TRADES_COUNT_1 = COUNT(DEAL_NUMBER)
from (
--Data extractions with several joins goes here....
) as TempTable1
GROUP BY PRODUCT_NAME
--Product 2
select @PRODUCT_NAME_2 = PRODUCT_NAME, @OFFER_VALID_DATE_2 = MAX(EXPIRY_DATE), @TRADES_COUNT_2 = COUNT(DEAL_NUMBER)
from (
--Data extractions with several joins goes here....
) as TempTable2
GROUP BY PRODUCT_NAME
SELECT ISNULL(@PRODUCT_NAME_1,'Product 1') AS …Run Code Online (Sandbox Code Playgroud) 这有什么问题?
interface IRepository<out T> where T : IBusinessEntity
{
IQueryable<T> GetAll();
void Save(T t);
void Delete(T t);
}
Run Code Online (Sandbox Code Playgroud)
它说:
方差无效:类型参数"T"必须在"MyNamespace.IRepository.Delete(T)"上具有矛盾的有效性.'T'是协变的.
Android文档将Build.FINGERPRINT称为唯一标识构建的方法.我想知道如何生成此属性.我在我的主板上编译整个框架,它默认设置为未知.另一个问题是,如果市场使用此标识符作为某种验证?
我有WPF绑定的问题.我想将Months列表绑定到ItemsControl,每个月显示一个Calendar Control.但每个呈现的日历显示DateTime.Now,而不是绑定的DateTimes.有谁知道为什么会这样?
这是我到目前为止:
MainWindow.xaml
<Window x:Class="CalendarListTest.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Grid>
<ItemsControl x:Name="calendarList">
<ItemsControl.ItemTemplate>
<DataTemplate>
<Calendar DisplayDate="{Binding CurrentDate}" />
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</Grid>
Run Code Online (Sandbox Code Playgroud)
**将集合分配给ItemsSource的地方**
private void Window_Loaded( object sender, RoutedEventArgs e )
{
CalendarList list = new CalendarList( );
list.Add( new CalendarMonth( ) { CurrentDate = DateTime.Parse( "1.1.1979" ) } );
list.Add( new CalendarMonth( ) { CurrentDate = DateTime.Parse( "1.2.1979" ) } );
list.Add( new CalendarMonth( ) { CurrentDate = DateTime.Parse( "1.3.1979" ) } );
calendarList.ItemsSource = list;
} …Run Code Online (Sandbox Code Playgroud) c# ×2
java ×2
.net ×1
android ×1
ansi-sql ×1
asp.net ×1
calendar ×1
covariance ×1
datagrid ×1
datetime ×1
generics ×1
itemscontrol ×1
java-ee ×1
oracle ×1
php ×1
plsql ×1
sql ×1
sql-server ×1
uml ×1
validation ×1
web.xml ×1
wpf ×1
zend-studio ×1